关于python 的os模块 文件目录处理

关于python 的os模块 文件目录处理

import os

显示导入依赖模块的操作系统的名称

print(os.name) # nt

返回当前系统的登录用户名

print(os.getlogin()) # 大宝宝

当前进程pid

print(os.getpid())

当前进程的父进程id

print(os.getppid())

当前系统cpu数量

print(os.cpu_count()) # 8

路径分隔符 在windows上是 反斜杠 而在Linux上是 ‘/’

print(os.sep)

返回当前系统的路径分割符号

print(os.pathsep)

文件操作

返回当前工作路径

print(os.getcwd()) # C:\Users****\Desktop\test

判断该路径是绝对路径

print(os.path.isabs(os.getcwd())) # True

判断该路径是否是一个文件

print(os.path.isfile(os.getcwd())) # False

判断该路径是否是一个目录

print(os.path.isdir(os.getcwd())) # True

print(os.walk(os.getcwd())) # 生成器 <generator object walk at 0x000001640B246DB0>

关于os.walk()

def file_name(file_dir): # 生成器 显示所有
for root, dirs, files in os.walk(file_dir):
print(“root_dir”, root) # 当前目录路径
print(“sub_dirs”, dirs) # 当前目录下所有子目录
print(“files”, files)

file_name(“D:\网易云音乐\CloudMusic”)

a = “D:\网易云音乐\CloudMusic”

分离扩展名

print(os.path.splitext(a)) # (‘D:\网易云音乐\CloudMusic’, ‘’)

运行shell脚本, 比如运行py文件

print(os.system(“python 1.py”))

验证路径是否存在

print(os.path.exists(a + “a”)) # False
print(os.path.exists(a)) # True

读取环境变量 快速查询环境变量 win+r 输入 sysdm.cpl

print(os.getenv(“windir”)) # C:\Windows
print(os.getenv(“OS”)) # Windows_NT

设置环境变量 os.putenv(‘环境变量名称’, ‘环境变量值’)

os.putenv()

#给出当前平台使用的行终止符 如: windowss使用’\r\n’ ,Linux使用’\n’而Mac使用’\r’

print(os.linesep)

#指示你正在使用的平台: 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’

print(os.name) # nt

更改文件或目录的权限

path – 文件名路径或目录路径

flags 权限 如下:

“”"
stat.S_IXOTH: 其他用户有执行权0o001
stat.S_IWOTH: 其他用户有写权限0o002
stat.S_IROTH: 其他用户有读权限0o004
stat.S_IRWXO: 其他用户有全部权限(权限掩码) 0o007
stat.S_IXGRP: 组用户有执行权限0o010
stat.S_IWGRP: 组用户有写权限0o020
stat.S_IRGRP: 组用户有读权限0o040
stat.S_IRWXG: 组用户有全部权限(权限掩码) 0o070
stat.S_IXUSR: 拥有者具有执行权限0o100
stat.S_IWUSR: 拥有者具有写权限0o200
stat.S_IRUSR: 拥有者具有读权限0o400
stat.S_IRWXU: 拥有者有全部权限(权限掩码) 0o700
stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
stat.S_IREAD: windows下设为只读
stat.S_IWRITE: windows下取消只读
“”"

os.chmod(path, flags)

目录操作

创建文件夹目录 多级目录写路径

os.makedirs(“file1/file2/file3”)

创建文件夹,要求上级目录必须存在

os.mkdir(“file”)

重命名文件 或者目录 都是这个命令

os.rename(“file”, “newfile”) #file只能是文件夹,newfile可以是文件,也可以是目标目录

删除多级目录, 要求必须是空的 对应os.makedirs()

os.removedirs(“file1/file2/file3”)

删除目录 只能是空的 对应os.mkdir()

os.rmdir(“newfile”)

以列表形式 返回指定目录下的所有文件和目录名

print(os.listdir(a))

返回这个路径的目录名和文件名

print(os.path.split(a)) # 返回一个路径的目录名和文件名 (‘D:\网易云音乐’, ‘CloudMusic’)

获取路径名 str格式

print(os.path.dirname(a)) # D:\网易云音乐

获取文件名 str格式

print(os.path.basename(a)) # CloudMusic

返回文件大小

print(os.path.getsize(a)) # 4096

获取文件属性

print(os.stat(a))

os.stat_result(st_mode=16895, st_ino=1125899906929597, st_dev=3372151673, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1574067766, st_mtime=1573005419, st_ctime=1557146001)

Python 的文件读写操作

with open(“abc.txt”, mode=“w”, encoding=“utf-8”) as f: #写文件,当文件不存在时,就直接创建此文件
data = f.readlines()
“”"
关于open 模式:
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
“”"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值