系统
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") # 写入标准输出