在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').