功能基础篇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")  # 写入标准输出
相关推荐
东莞市云毅网络有限公司4 小时前
AI 引用句逐条回指原文:让回答可回溯的校验实现
python·数据清洗·rag·企业知识库·文档解析
数字融合6 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0116 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
Marst Code8 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界
python
李日华大战鸡红9 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
外收内放11 小时前
Python基础语法练习题(57-58)
开发语言·python
朝朝辞暮i11 小时前
VLA 系统学习第 3 课:从一次机器人示范,到真正送进神经网络的 Batch
人工智能·python·深度学习·神经网络·vla
小鹿的周先生11 小时前
第11章-Structured-Output
开发语言·人工智能·python
梦在远山后12 小时前
通过 WSS 让 Server 安全调用 Desktop 本地工具(下01):Ticket、人工确认、幂等与断线对账
python·langchain·agent
泡海椒12 小时前
JQuick-Excel 实战:FORMAT 管理日期与数字的 Excel 显示
开发语言·python·excel