功能基础篇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")  # 写入标准输出
相关推荐
萧鼎23 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸24 分钟前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农24 分钟前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@1 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树1 小时前
简单的签到程序 python笔记
笔记·python
Shy9604181 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭1 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
zhongcx012 小时前
使用Python查找大文件的实用脚本
python
yyfhq3 小时前
sdnet
python
测试19983 小时前
2024软件测试面试热点问题
自动化测试·软件测试·python·测试工具·面试·职场和发展·压力测试