1. OS模块
>>> import os
'''获得应用程序当前的工作目录,使用getcwd()函数获得'''
>>> os.getcwd()
'C:\\Users\\威震东南亚\\AppData\\Local\\Programs\\Python\\Python39'
'''用chdir(path)函数改变当前工作目录'''
>>> os.chdir('C:\\Users\\威震东南亚\\Desktop\\')
>>> os.getcwd()
'C:\\Users\\威震东南亚\\Desktop'
'''listdir(path='.')函数可以列举指定目录中的文件名('.'表示当前目录,'..'表示上一层目录)'''
>>> os.listdir()
['a.txt', 'expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', '小甲鱼', '汉诺塔.py']
>>> os.listdir(r'C:\Users\威震东南亚\Desktop\PY\Py操作整理')
['math相关.docx', 'random.docx', '元组.docx', '函数.docx', '列表操作.docx', '基础操作.docx', '字典和集合.docx', '字符操作.docx', '序列.docx', '输入.docx', '输出.docx']
'''mkdir(path)函数用于创建文件夹,如果该文件夹存在,则抛出FileExistdError异常'''
>>> os.mkdir('test')
>>> os.listdir()
['a.txt', 'expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', 'test', '小甲鱼', '汉诺塔.py']
>>> os.mkdir('test')
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
os.mkdir('test')
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'test'
'''makedirs(path)函数用于创建多层目录'''
>>> os.makedirs(r'C:\Users\威震东南亚\Desktop\PY\test.\a\b\c')
'''test包含a,a包含b,b包含c'''
'''remove(path)用于删除指定文件'''
>>> os.getcwd()
'C:\\Users\\威震东南亚\\Desktop\\PY'
>>> os.listdir()
['a.txt', 'expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', 'test', '小甲鱼', '汉诺塔.py']
>>> os.remove('a.txt')
>>> os.listdir()
['expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', 'test', '小甲鱼', '汉诺塔.py']
'''rmdir(path)用于删除单层目录,removedirs(path)用于删除多层目录,均目录非空则抛出异常'''
>>> os.listdir()
['a', 'expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', 'test', '小甲鱼', '汉诺塔.py']
>>> os.rmdir('a')
>>> os.listdir()
['expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', 'test', '小甲鱼', '汉诺塔.py']
>>> os.rmdir('test')
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
os.rmdir('test')
OSError: [WinError 145] 目录不是空的。: 'test'
>>> os.removedirs(r'test\a\b\c')
>>> os.listdir()
['expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', '小甲鱼', '汉诺塔.py']
'''rename(old, new)用于重命名文件或文件夹'''
>>> os.listdir()
['expe.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', '小甲鱼', '汉诺塔.py']
>>> os.rename('小甲鱼', '小甲鱼是鸽子')
>>> os.rename('expe.py', 'exper.py')
>>> os.listdir()
['exper.py', 'python123', 'PYtips.docx', 'PY操作指南.docx', 'Py操作整理', '小甲鱼是鸽子', '汉诺塔.py']
'''system(command)用于使用系统提供的小工具'''
>>> os.system('calc') # calc是windos系统自带的计算器
# 按Enter后即弹出计算器
'''walk(top)用于遍历top参数指定路径下的所有子目录,并将结果返回一个三元组(路径,[包含目录],[包含文件])'''
>>> os.walk('python123')
<generator object _walk at 0x0000023673E1CF90>
>>> for i in os.walk('python123'):
print(i)
('python123', ['01', '02', '03', '04', '05', '06'], [])
('python123\\01', [], ['1.py', '10.py', '2.py', '3.py', '4.py', '5.py', '6.py', '9.py'])
('python123\\02', [], ['1.py', '10.py', '2.py', '3.py', '4.py', '5.py', '6.py', '7.py', '8.py', '9.py'])
('python123\\03', [], ['1.py', '10.py', '11.py', '12.py', '13.py', '14.py', '2.py', '3.py', '4.py', '5.py', '6.py', '7.py', '8.py', '9.py'])
('python123\\04', [], ['1.py', '10.py', '11.py', '12.py', '13.py', '14.py', '15.py', '16.py', '17.py', '18.py', '19.py', '2.py', '20.py', '3.py', '4.py', '5.py', '6.py', '7.py', '8.py', '9.py'])
('python123\\05', [], ['1.py', '10.py', '11.py', '13.py', '14.py', '16.py', '18.py', '2.py', '3.py', '4.py', '5.py', '6.py', '7.py', '8.py', '9.py'])
('python123\\06', [], ['13.py', '2.py', '3.py', '6.py', '7.py'])
以下是支持路径操作中常用到的一些定义,支持所有平台
>>> os.curdir # 指代当前目录'.'
'.'
>>> os.pardir # 指代上一级目录'..'
'..'
>>> os.sep # 输出操作系统特定的路径分隔符,Win下为'\\',Linux下为'/'
'\\'
>>> os.linesep # 当前平台使用的行终止符,Win下为'\r\n',Linux下为'\n'
'\r\n'
>>> os.name # 指代当前使用的操作系统,包括'posix', 'nt', 'mac', 'os2', 'ce', 'java'
'nt'
2. OS.path模块
|