Python内置库os和sys的常用方法汇总

40c45977420c4d7cbde48c1d4eec8c31.jpeg

更多Python学习内容:ipengtao.com

Python是一门强大的编程语言,具有丰富的标准库,其中包括ossys两个常用模块。os模块用于与操作系统交互,提供了许多文件和目录操作的方法,而sys模块用于与Python解释器进行交互,提供了对命令行参数和系统配置的访问。本文将汇总ossys模块的常用方法,并提供详细的示例代码。

os模块的常用方法

1. 获取当前工作目录

使用os.getcwd()方法可以获取当前Python脚本的工作目录。这对于构建相对路径非常有用。

import os

current_directory = os.getcwd()
print("当前工作目录:", current_directory)

2. 切换工作目录

使用os.chdir(path)方法可以更改当前工作目录到指定的路径。

import os

os.chdir("/path/to/new/directory")

3. 列出目录内容

使用os.listdir(path)方法可以列出指定目录中的文件和子目录。

import os

directory_contents = os.listdir("/path/to/directory")
print("目录内容:", directory_contents)

4. 创建目录

使用os.mkdir(path)方法可以创建一个新目录。

import os

os.mkdir("/path/to/new/directory")

5. 递归创建目录

使用os.makedirs(path)方法可以递归创建多级目录,如果父级目录不存在也会创建。

import os

os.makedirs("/path/to/new/directory")

6. 删除文件或目录

使用os.remove(file)方法可以删除文件,使用os.rmdir(directory)方法可以删除目录,但前提是目录必须为空。如果要删除目录及其内容,可以使用shutil.rmtree(path)方法。

import os
import shutil

os.remove("/path/to/file")
os.rmdir("/path/to/empty/directory")
shutil.rmtree("/path/to/directory/with/contents")

7. 文件重命名

使用os.rename(src, dst)方法可以重命名文件或目录。

import os

os.rename("/path/to/old/file", "/path/to/new/file")

8. 检查文件或目录是否存在

使用os.path.exists(path)方法可以检查文件或目录是否存在。

import os

if os.path.exists("/path/to/file_or_directory"):
    print("文件或目录存在")
else:
    print("文件或目录不存在")

9. 获取文件信息

使用os.path.getsize(file)方法可以获取文件的大小(以字节为单位)。

import os

file_size = os.path.getsize("/path/to/file")
print("文件大小(字节):", file_size)

10. 检查是否为文件或目录

使用os.path.isfile(path)方法可以检查路径是否为文件,使用os.path.isdir(path)方法可以检查路径是否为目录。

import os

if os.path.isfile("/path/to/file"):
    print("是文件")
elif os.path.isdir("/path/to/directory"):
    print("是目录")

11. 拼接路径

使用os.path.join(path1, path2, ...)方法可以拼接路径,以适应不同操作系统的路径分隔符。

import os

path = os.path.join("/path/to", "directory", "file.txt")
print("拼接后的路径:", path)

sys模块的常用方法

1. 获取命令行参数

使用sys.argv列表可以获取命令行参数,其中sys.argv[0]是脚本名称,后续元素是传递给脚本的参数。

import sys

script_name = sys.argv[0]
arguments = sys.argv[1:]

print("脚本名称:", script_name)
print("参数:", arguments)

2. 退出脚本

使用sys.exit(code)方法可以退出脚本,并可选地指定退出代码。退出代码为0表示正常退出,其他值表示出现错误。

import sys

# 正常退出
sys.exit(0)

# 带有错误退出代码
sys.exit(1)

3. 获取Python解释器信息

使用sys.version可以获取Python解释器的版本信息。

import sys

python_version = sys.version
print("Python版本:", python_version)

4. 修改默认编码

使用sys.setdefaultencoding(encoding)方法可以修改Python的默认字符编码。

import sys

# 修改默认编码为UTF-8
reload(sys)
sys.setdefaultencoding('utf-8')

5. 获取最大递归深度

使用sys.getrecursionlimit()方法可以获取Python解释器的最大递归深度。

import sys

recursion_limit = sys.getrecursionlimit()
print("最大递归深度:", recursion_limit)

6. 设置最大递归深度

使用sys.setrecursionlimit(limit)方法可以设置Python解释器的最大递归深度。请注意,更改递归深度可能导致Python解释器不稳定,因此要谨慎使用。

import sys

# 设置最大递归深度为10000
sys.setrecursionlimit(10000)

7. 获取字节序

使用sys.byteorder可以获取系统的字节序,返回值为"little"(小端字节序)或"big"(大端字节序)。

import sys

byte_order = sys.byteorder
print("字节序:", byte_order)

8. 获取操作系统信息

使用sys.platform可以获取操作系统的名称。例如,Windows系统返回"win32",Linux系统返回"linux"。

import sys

platform = sys.platform
print("操作系统:", platform)

总结

ossys模块提供了丰富的方法,用于与操作系统和Python解释器进行交互。本文汇总了这两个模块的常用方法,包括获取当前工作目录、文件操作、路径操作、命令行参数处理等等。这些方法在编写文件操作、系统管理和命令行工具时非常有用。通过充分利用ossys模块,可以更轻松地处理各种系统和环境相关的任务,提高Python编程的效率和便捷性。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

更多Python学习内容:ipengtao.com

干货笔记整理

  100个爬虫常见问题.pdf ,太全了!

Python 自动化运维 100个常见问题.pdf

Python Web 开发常见的100个问题.pdf

124个Python案例,完整源代码!

PYTHON 3.10中文版官方文档

耗时三个月整理的《Python之路2.0.pdf》开放下载

最经典的编程教材《Think Python》开源中文版.PDF下载

4189796af8d07043c08da5ed1125bf43.png

点击“阅读原文”,获取更多学习内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/286944.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase入选Gartner®云数据库管理系统魔力象限“荣誉提及”

近日,全球IT市场研究和咨询公司Gartner发布最新报告《Magic Quadrant™ for Cloud Database Management Systems》(全球云数据库管理系统魔力象限)。全自研分布式数据库 OceanBase 入选“荣誉提及”,2022 年推出的云数据库 OB Clo…

uniapp---安卓真机调试提示检测不到手机【解决办法】

最近在做APP,由于华为手机更新过系统,再次用来调试APP发现就不行了。下面给出具体的解决方法: 第一步:打开【允许开发人员选项】 找到【设置】点击【关于手机】找到【版本号】点击7次或多次,允许开发人员选项。 第二…

性能优化:Spark SQL中的谓词下推和列式存储

Apache Spark是一个强大的分布式计算框架,Spark SQL是其一个核心模块,用于处理结构化数据。性能优化是大数据处理中的一个关键问题,本文将深入探讨Spark SQL中的两个性能优化技术:谓词下推(Predicate Pushdown&#xf…

Ps:应用图像

Ps菜单:图像/应用图像 Image/Apply Image 应用图像 Apply Image命令可以将图像的内容(作为“源”)叠加到另一图像(作为“目标”)上,同时提供了控制混合的详细选项。 “应用图像”命令在图像合成、图层蒙版和…

彻底理解前端安全面试题(2)—— CSRF 攻击,跨站请求伪造攻击详解,建议收藏(含源码)

前言 前端关于网络安全看似高深莫测,其实来来回回就那么点东西,我总结一下就是 3 1 4,3个用字母描述的【分别是 XSS、CSRF、CORS】 一个中间人攻击。当然 CORS 同源策略是为了防止攻击的安全策略,其他的都是网络攻击。除了这…

音视频通信

文章目录 一、音视频通信流程二、流媒体协议1、RTSP2、RTMP3、HLS4、WebRTC 一、音视频通信流程 音视频通信完整流程有如下几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等。 每一个细分环节,还有更细分的技术模块。比如,前后处…

网络端口(包括TCP端口和UDP端口)的作用、定义、分类,以及在视频监控和流媒体通信中的定义

目 录 一、什么地方会用到网络端口? 二、端口的定义和作用 (一)TCP协议和UDP协议 (二)端口的定义 (三)在TCP/IP体系中,端口(TCP和UDP)的作用 (…

canvas绘制圆角矩形示例

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

【期末考试】数据结构大题

~~08|2.03|2|8 ^^统计出没带头结点的单链表HL中结点的值等于给定值x的结点数。 int CountX(LNode *HL, ElemType x) {int i 0;LNode *p HL;while (p ! NULL){if (P->data x)i;p p->next;}return i; }简答:定义一个i变量来记录节点值等于x的节点个数&…

Debezium发布历史43

原文地址: https://debezium.io/blog/2018/12/05/automating-cache-invalidation-with-change-data-capture/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. 通过更改数据捕获自动使缓存失效 2018 年…

以 RoCE+软件定义存储同时实现信创转型与架构升级

目前,不少企业数据中心使用 FC 交换机和集中式 SAN 存储(以下简称“FC-SAN 架构”),支持核心业务系统、数据库、AI/ML 等高性能业务场景。而在开展 IT 基础架构信创转型时,很多用户受限于国外交换机:FC 交换…

20 太空漫游

效果演示 实现了一个太空漫游的动画效果,其中包括火箭、星星和月亮。当鼠标悬停在卡片上时,太阳和星星会变成黄色,火箭会变成飞机,月亮会变成小型的月亮。整个效果非常炫酷,可以让人想起科幻电影中的太空漫游。 Code &…

SpringBoot—支付—支付宝

一、流程 二、沙箱操作 1.用支付宝账号登录【开放控制平台】创建应用获取 appid 2.选择沙箱模拟环境 3.沙箱应用-》获取appid(一个appid绑定一个收款支付宝账户) 4.利用开发助手工具生成RSA2密钥 公钥:传给支付宝平台 私钥:配置代码中,…

json解析本地数据,使用JSONObject和JsonUtility两种方法。

json解析丨网址、数据、其他信息 文章目录 json解析丨网址、数据、其他信息介绍一、文中使用了两种方法作为配置二、第一种准备2.代码块 二、第二种总结 介绍 本文可直接解析本地json信息的功能示例,使用JSONObject和JsonUtility两种方法。 一、文中使用了两种方法…

[GKCTF 2020]ez三剑客-eztypecho

[GKCTF 2020]ez三剑客-eztypecho 考点:Typecho反序列化漏洞 打开题目,发现是typecho的CMS 尝试跟着创建数据库发现不行,那么就搜搜此版本的相关信息发现存在反序列化漏洞 参考文章 跟着该文章分析来,首先找到install.php&#xf…

Arduino开发实例-AD8232心率监测传感器驱动

AD8232心率监测传感器驱动 文章目录 AD8232心率监测传感器驱动1、AD8232介绍2、硬件准备及接线3、驱动实现1、AD8232介绍 AD8232 传感器可为您提供心电图或 ECG 信号监测。 分析这些信号可以提供有关心脏功能的有用信息,例如心跳率、心律和其他有关心脏状况的信息。 该模块可…

word 常用功能记录

word手册 多行文字对齐标题调整文字间距打钩方框插入三线表插入参考文献自动生成目录 多行文字对齐 标题调整文字间距 打钩方框 插入三线表 插入一个最基本的表格把整个表格设置为无框线设置上框线【实线1.5磅】设置下框线【实线1.5磅】选中第一行,设置下框线【实线…

Mysql的基本用法(上)非常详细、快速上手

上篇结束了java基础,本篇主要对Mysql中的一些常用的方法进行了总结,主要对查询方法进行了讲解,包括重要的多表查询用到的内连接和外连接等,以下代码可以直接复制到可视化软件中,方便阅读以及练习; SELECT *…

Springer Latex正文参考文献样式改为数字

用过爱斯唯尔的latex,正文参考文献都是数字,第一次用Springer Latex的参考文献竟然是authoryear,如下: 将这种样式变回序号样式: (1)使用这个documentclass(此为双栏) …

Mnist手写体数字数据集介绍与在Pytorch中使用

1.介绍 MNIST(Modified National Institute of Standards and Technology)数据集是一个广泛用于机器学习和计算机视觉研究的常用数据集之一。它由手写数字图像组成,包括0到9的数字,每张图像都是28x28像素的灰度图像,图…