功能基础篇6——系统接口,操作系统与解释器系统

系统

os

Python标准库,os模块提供Python与多种操作系统交互的接口

python 复制代码
import os
import stat

# 文件夹
print(os.mkdir(r'./dir'))  # None 新建单级空文件夹
print(os.rmdir(r'./dir'))  # None 删除单级空文件夹
print(os.makedirs(r'.\dir\dir\dir'))  # None 递归创建空文件夹
print(os.removedirs(r'.\dir\dir\dir'))  # None 递归删除空文件夹
print(os.listdir())  # [] 列出指定文件夹下所有文件和文件夹

# 文件
print(os.stat(".\\file.txt"))  # os.stat_result()
print(os.access(".\\file.txt", stat.S_IXOTH))  # True 判断文件权限
print(os.chmod(".\\file.txt", stat.S_IXOTH))  # None 修改文件权限
print(os.rename(".\\file.txt", "f.txt"))  # None 重命名文件
print(os.utime(".\\f.txt"))  # None 修改文件访问时间和修改时间
print(os.remove(".\\f.txt"))  # 删除文件

# 路径
print(os.sep)  # 系统路径分隔符 \
print(os.curdir)  # 当前文件夹 .
print(os.pardir)  # 父文件夹  ..
print(os.chdir(r'C:\\'))  # 改变工作目录 None
print(os.getcwd())  # 当前工作目录 C:\
# os.path,实质上os.path相当于对路径字符串进行操作,并不会分析这个路径是否真实存在
path = r"C:\Program Files\Windows Defender\MpCmdRun.exe"
print(os.path.exists(path))  # 判断文件或目录是否存在 True
print(os.path.abspath(path))  # 获得绝对路径 C:\Program Files\Windows Defender\MpCmdRun.exe
print(os.path.isabs(path))  # 判断是否为绝对路径 True
print(os.path.split(path))  # 将文件路径和文件名分割(会将最后一个目录作为文件名而分离) ('C:\\Program Files\\Windows Defender', 'MpCmdRun.exe')
print(os.path.splitext(path))  # 将文件路径和文件扩展名分割成一个元组 ('C:\\Program Files\\Windows Defender\\MpCmdRun', '.exe')
dirname = os.path.dirname(path)  # 返回文件路径的目录部分 C:\Program Files\Windows Defender
print(dirname)
basename = os.path.basename(path)  # 返回文件路径的文件名部分 MpCmdRun.exe
print(basename)
print(os.path.join(dirname, basename))  # C:\Program Files\Windows Defender\MpCmdRun.exe
print(os.path.join("dirname", "basename"))  # 将文件路径和文件名凑成完整文件路径 dirname\basename
print(os.path.normpath(path))  # 将path修正为对应OS的标准路径格式 C:\Program Files\Windows Defender\MpCmdRun.exe

# 系统信息
print(os.name)  # 操作系统标识
# print(os.uname())
print(os.environ)  # 系统环境变量,Windows中为计算机->属性->高级系统设置->环境变量


print(os.system("dir"))  # py执行操作系统命令
# os.fork()  # Unix only fork出一个子进程。在子进程中返回0,在父进程中返回子进程的进程号
# os.wait()  # Unix only 等待子进程

sys

Python标准库,sys模块提供Python与Python解释器系统交互的接口

python 复制代码
import sys

print(sys.platform)  # win32
print(sys.version)  # 3.11.2 (tags/v3.11.2:878ead1, Feb  7 2023, 16:38:35) [MSC v.1934 64 bit (AMD64)]
sys.version_info.major
print(sys.path)  # 模块搜索路径,有先后顺序
print(sys.argv)  # python file.py 1 2 3 4 a b c d,命令行参数,实现从程序外部向程序传递参数
print(sys.modules)  # 当前解释器加载的模块
print(sys.stdin)  # 标准输入
print(sys.stdout)  # 标准输出
print(sys.stderr)  # 标准错误
print(sys.byteorder)  # little 本地字节顺序的指示符。在大端序(最高有效位优先)操作系统上值为 'big' ,在小端序(最低有效位优先)操作系统上为 'little'
print(sys.copyright)  # 一个字符串,包含了 Python 解释器有关的版权信息
print(sys.getrefcount(object))  # 返回 object 的引用计数。返回的计数通常比预期的多一,因为它包括了作为 getrefcount() 参数的这一次(临时)引用。
print(sys.implementation)  # 解释器实现信息
print(sys.api_version)  # 解释器C API版本
print(sys.flags)  # 命令行标志状态
print(sys.exit())  # 引发SystemExit异常,表示打算退出解释器,通常异常处理处理Exception,不会处理SystemExit

sys.stdout.write("xxx")  # 写入标准输出
相关推荐
深蓝海拓1 分钟前
QT,sys.argv支持的核心内置参数
python·pyqt
superman超哥2 分钟前
仓颉语言中循环语句(for/while)的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
冷雨夜中漫步6 分钟前
Java类加载机制——双亲委派与自定义类加载器
java·开发语言·python
拾忆,想起18 分钟前
单例模式深度解析:如何确保一个类只有一个实例
前端·javascript·python·微服务·单例模式·性能优化·dubbo
癫狂的兔子22 分钟前
【Python】【NumPy】学习笔记
python·学习·numpy
Kurbaneli28 分钟前
Python的起源与发展
python
540_54029 分钟前
ADVANCE Day26
人工智能·python·机器学习
dazzle30 分钟前
Python高级技巧:装饰器全面指南,从基础到高级应用
python
南_山无梅落31 分钟前
11.Python 常用数据类型「增删改查」操作总结表格
python
wenxiaohai12341 分钟前
在anaconda中安装cuda-pytorch
人工智能·pytorch·python·anaconda