在python中对文件和目录的操作经常用到 os 模块和 shutil 模块。
一定要先导入 os 和 shutil 模块
import os
import shutil
1、获得当前python脚本工作的目录路径:os.getcwd()
In [38]: import os
In [39]: os.getcwd()
Out[39]: '/home'
In [40]:
2、返回指定目录下的所有文件和目录名:os.listdir()
In [46]: os.listdir()
Out[46]:
['QR.png',
'jier',
'.bash_profile',
'.bashrc',
'test.py',
'jier.sh',
'.bash_logout',
'ceshi.py',
'.bash_history']
In [47]: os.listdir('/')
Out[47]:
['lib64',
'.autorelabel',
'sys',
'mnt',
'boot',
'usr',
'lost+found']
In [48]:
3、删除一个文件:os.remove(filepath)。
4、删除多个空目录:os.removedirs()。
5、检验给出的路径是否是一个文件:os.psth.isfile(filepath)。
6、检验给出的路径是否是一个目录:os.path.isdir(filepath)。
7、判断是否是绝对路径:os.path.isabs()。
8、检验路径是否真的存在:os.path.exists()。
9、分离一个路径的目录和文件名:os.path.split()。
In [50]: os.path.split('/home/ceshi/ceshi.py')
Out[50]: ('/home/ceshi', 'ceshi.py')
10、分离扩展名,返回结果是一个元祖:os.path.splitext()。
In [51]: os.path.splitext('/home/ceshi/ceshi.py')
Out[51]: ('/home/ceshi/ceshi', '.py')
In [52]: os.path.splitext('ceshi.py')
Out[52]: ('ceshi', '.py')
11、获取路径名:os.path.dirname(filename)。
12、获取文件名:os.path.basename(filename)。
13、读取和设置环境变量:os.getenv()与os.putenv()。
读取:os.getenv('环境变量名称')
设置:os.putenv('环境变量名称', '环境变量值')
In [59]: os.getenv('PATH')
Out[59]: '/root/.pyenv/versions/3.5.0/bin:/root/.pyenv/libexec:/root/.pyenv/plugins/python-build/bin:/root/.pyenv/shims:/root/.pyenv/bin:/home/jdk//jdk/bin:/home/jdk//jdk/jre/bin:/home/jdk/jdk/bin:/home/jdk/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.pyenv/versions/3.5.0/bin/:/home/nginx/sbin/:/root/bin'
In [60]:
14、给出当前平台使用的行终止符:os.linesep。
15、显示你正在使用的平台,对于windows,他是‘nt’,对于linux和nuix用户,他是‘posix’:os.name。
16、重命名文件或者目录:os.rename(old, new)。
17、创建多级目录:os.nakedirs()。
18、创建单个目录:os.mkdir()。
19、获取文件属性:os.stst(file)。
20、修改文件权限和时间戳:os.chmod(file)。
21、获取文件大小:os.path.getsize(filename).
22、复制文件夹:shutil.copytree('olddir', 'newdir')。
23、复制文件:shutil.copyfile('oldfile', 'newfile')。
24、移动文件/目录:shutil.move('oldpos', 'newpos')。
25、删除空目录:os.rmdir('dir')。
26、删除所有的目录:shutil.rmtree('dir').