Python内置模块--os

1. 文件目录相关

os.getcwd() 获取当前工作目录,即Python脚本工作的目录路径

>>> os.getcwd()
'/Users/nancy/Desktop'

os.listdir() 返回指定目录下的所有文件和目录名

os.path.isfile() 检测目标路径是否为一个文件,返回布尔值

os.path.isdir() 检测目标路径是否为一个目录,返回布尔值

os.path.isabs() 检测目标路径是否为绝对路径

os.path.exists() 检测目标路径是否存在

os.path.split() 返回目标文件的路径和文件名。

>>> os.path.split('/Users/nancy/Desktop/book/Python Testing Cookbook.pdf')
('/Users/nancy/Desktop/book', 'Python Testing Cookbook.pdf')

os.path.splitext() 返回目标文件的扩展名

>>> os.path.splitext('/Users/nancy/Desktop/book/Python Testing Cookbook.pdf')
('/Users/nancy/Desktop/book/Python Testing Cookbook', '.pdf')
>>>

os.path.dirname() 返回目标文件的路径名

>>> os.path.dirname('./book/Python Testing Cookbook.pdf')
'./book'

os.path.abspath() 返回目标文件的绝对路径名

>>> os.path.abspath('./book/Python Testing Cookbook.pdf')
'/Users/nancy/Desktop/book/Python Testing Cookbook.pdf'

os.path.basename() 获取目标文件名

os.path.join(path, filename) 拼接路径和文件名

>>> os.path.join('/test/path/', 'test.txt')
'/test/path/test.txt'

os.path.getsize() 获取目标文件大小

os.rename(old, new) 重命名文件

os.renames() 递归重命名

os.mkdir() 创建目录

os.makedirs() 创建多级目录

os.chdir() 改变工作目录至目标路径

os.remove() 删除指定文件

os.removedirs() 删除多个目录,递归删除

os.chmod() 修改文件权限

os.stat() 获取文件属性

>>> os.stat('./book/Python Testing Cookbook.pdf')
os.stat_result(st_mode=33188, st_ino=1649110, st_dev=16777231, st_nlink=1, st_uid=501, st_gid=20, st_size=9086621, st_atime=1614523765, st_mtime=1614386842, st_ctime=1614386842)

os.walk() 遍历目标路径/文件每一级路径和文件名

先看下目标目录结构

$ tree .
.
├── test1
│   └── test1.txt
└── test2
    └── test2.txt

2 directories, 2 files
for dirpath, dirname, filename in os.walk('/Users/nancy/Desktop/test'):
    print(dirpath, dirname, filename)
# 输出
/Users/nancy/Desktop/test ['test1', 'test2'] []
/Users/nancy/Desktop/test/test1 [] ['test1.txt']
/Users/nancy/Desktop/test/test2 [] ['test2.txt']

2. 操作系统相关

os.name 返回当前操作系统平台,对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’

>>> os.name
'posix'

os.environ 返回当前操作系统的所有环境变量,类型为字典,可以用 os.environ['HOME'] 这样获取 ‘HOME’ 的环境变量

>>> os.environ['HOME']
'/Users/nancy'

os.getenv() 读取当前操作系统中的目标环境变量

>>> os.getenv('HOME')
'/Users/nancy'

os.get_terminal_size() 获取当前终端的大小

os.environ.setdefault() 设置临时系统环境变量,仅在当前程序运行的时候有效

os.system() 运行命令行命令,但是该方法无法获取命令执行后的返回值。该方法返回 0 表示命令执行成功

os.popen() popen() 创建一个管道,通过fork一个子进程,然后该子进程执行命令。返回值在标准IO流中,该管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数(w或r)其返回值是file read的对象, 对其进行读取read()操作可以看到执行的输出

>>> os.popen('ls')
<os._wrap_close object at 0x10100dfa0>
>>> os.popen('ls').read()
'book\ncctester_code\nphotos\nprivate\ntest\ntest1\ntest2\ntestdir\n'

执行命令行命令还是更推荐 subprocess.Popen() 方法

os.kill(pid, signal) 操作进程,第一个参数为要操作的进程,第二个参数为要进行的操作

os 模块还有很多很多方法和属性,详细学习请参考官网 – python-os模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值