怎么做课题组网站,个人制作的网站,邯郸网站制作多少钱,wordpress洋葱os模块包含了普遍的操作系统和文件目录方法 引入类库
首先需要引入类库
import os 常用方法
OS模块方法
获取操作系统类型
nt-window:Microsoft Windows NT
posix-Linux/Mac OS: Portable Operating System Interface of UNIX#xff08;可移植操作系统接口window:Microsoft Windows NT
posix-Linux/Mac OS: Portable Operating System Interface of UNIX可移植操作系统接口
示例如下
print(os.name) # nt 获取系统环境变量
所有环境变量
示例如下
print(os.environ) 指定环境变量
示例如下
print(os.environ.get(APPDATA))# C:\Users\18201\AppData\Roaming 获取当前目录
示例如下
print(os.curdir)# 执行结果. 获取当前工作目录
即当前python脚本所在目录
示例如下
print(os.getcwd())# 执行结果 E:\lianxipy\day3 获取目录所有文件
使用os的listdir方法返回指定目录下所有的文件以列表的形式。
示例如下
print(os.listdir(rE:\lianxipy\day3))# 执行结果
# [os整理.py, 元组.py, 字典.py, 字符串.py, 异常处理.py, 文件持久操作.py, 文件读写.py,装饰器.py, 迭代器.py, 集合.py] 创建目录
在当前目录下创建新目录 绝对路径
示例如下
os.mkdir(rE:\lianxipy\day3\new) 相对路径
示例如下
os.mkdir(new2)
注意
目录如果已存在就会抛出异常
Traceback (most recent call last):File E:\lianxipy\day3\os整理.py, line 38, in moduleos.mkdir(rE:\lianxipy\day3\new)
FileExistsError: [WinError 183] 当文件已存在时无法创建该文件。: E:\\lianxipy\\day3\\new 执行结果 删除目录
删除目录使用刚才创建的new和new2目录为例。
示例如下
os.rmdir(rE:\lianxipy\day3\new)
os.rmdir(new2) # ./new2 or new2都可以 获取文件属性
示例如下
print(os.stat(os整理.py))
执行结果
os.stat_result(st_mode33206, st_ino1970324837013767, st_dev3365708600, st_nlink1, st_uid0, st_gid0, st_size1208, st_atime1701744932, st_mtime1701744932, st_ctime1701740791)
说明
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的ctime。在某些系统上如Unix是最新的元数据更改的时间在其它系统上如Windows是创建时间详细信息参见平台的文档。 重命名
对目录重命名
需要传入两个路径名称分别为路径目录与新路径目录。
示例如下
os.rename(new, new1) 对文件重命名
这里也是传入两个路径名称需要注意的是路径要携带文件扩展名否则就修改文件格式会导致无法识别文件。
示例如下
os.rename(函数1.py, 函数.py) 删除普通文件
删除文件需要使用os的remove方法传入一个绝对路径或相对路径的文件即可删除。在当前目录下创建一个new.txt用于测试删除。
示例如下
os.remove(new.txt)
如果存在就会被删除如果不存在就会抛出异常
Traceback (most recent call last):File E:\lianxipy\day3\os整理.py, line 59, in moduleos.remove(new.txt)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: new.txt 运行shell命令
Shell命令就是指使用cmd.exe打开的小黑窗口执行的命令。使用shell命令需要谨慎否则易引发安全问题。
示例如下
# 设置脚本文件编码为utf-8
os.system(CHCP 65001)
# 查看本地配置
os.system(ipconfig)
# 查看文件目录树结构
os.system(tree)
# 打开远程桌面
os.system(mstsc) OS path模块方法
查看当前绝对路径
示例如下
print(os.path.abspath(./os整理.py))# 执行结果
# E:\lianxipy\day3\os整理.py 拼接路径
注意参数2中开始不能是斜杠否则会覆盖掉参数1除根外的其他路径
示例如下
path1 E:\lianxipy\day3
path2 text\\new1\\new2
print(os.path.join(path1, path2))# 执行结果
# E:\lianxipy\day3\text\new1\new2 拆分路径
从路径中拆出最后一个目录
示例如下
path3 rE:\lianxipy\day3\text\new1\new2
print(os.path.split(path3))# 执行结果
# (E:\\lianxipy\\day3\\text\\new1, new2) 获取扩展名
获取文件的扩展名带.
示例如下
print(os.path.splitext(rE:\lianxipy\day3\os整理.py))
# 若没有扩展名
print(os.path.splitext(rE:\lianxipy\day3\os整理))# 执行结果
# (E:\\lianxipy\\day3\\os整理, .py)
# (E:\\lianxipy\\day3\\os整理, ) 判断目录
判断目录参数为绝对路径返回布尔值存在即为True。
示例如下
print(os.path.isdir(rE:\lianxipy\day3\os整理.py)) # False
print(os.path.isdir(rE:\lianxipy\day3)) # True 判断文件是否存在
示例如下
print(os.path.isfile(rE:\lianxipy\day3\os整理.py)) # True
print(os.path.isfile(rE:\lianxipy\day3\os整理1.py))# False 判断路径是否存在
可用来判断绝对路径的目录
示例如下
print(os.path.exists(rE:\lianxipy\day3)) # True
也可以用来判断文件
print(os.path.exists(rE:\lianxipy\day3\os整理.py)) # True 获取文件的大小
获取文件和目录大小单位kb
示例如下
print(os.path.getsize(rE:\lianxipy\day3\os整理.py)) # 3457
也可以使用获取目录大小 判断是否空文件夹
print(os.path.getsize(rE:\lianxipy\day3\new)) # 0 文件的目录获取
dirname 函数用于返回文件路径也就是返回 path 参数中最后一个斜杠之前的所有内容。
basename函数用于去掉目录路径单独返回文件名。
示例如下
path rE:\lianxipy\day3\os整理.py
print(os.path.dirname(path))
print(os.path.basename(path))# 执行结果
# E:\lianxipy\day3
# os整理.py 总结
本篇主要整理了一些os模块常用的操作方法。