在本文中,您將了解Python中的文件和目錄管理,即創(chuàng)建一個目錄,重命名它,列出所有目錄并使用它們。
如果您的Python程序中要處理大量文件,則可以將代碼排列在不同的目錄中,以使事情更易于管理。
目錄或文件夾是文件和子目錄的集合。Python具有os 模塊,它為我們提供了許多使用目錄(和文件)的有用方法。
我們可以使用該getcwd()方法獲取當前的工作目錄。
此方法以字符串形式返回當前工作目錄。我們還可以使用getcwdb()方法將其作為字節(jié)對象獲取。
>>> import os >>> os.getcwd() 'C:\\Program Files\\PyScripter' >>> os.getcwdb() b'C:\\Program Files\\PyScripter'
額外的反斜杠表示轉義序列。print()函數(shù)將正確地呈現(xiàn)它。
>>> print(os.getcwd()) C:\Program Files\PyScripter
我們可以使用chdir()方法更改當前工作目錄。
我們要更改的新路徑必須作為字符串提供給此方法。我們可以使用正斜杠(/)或反斜杠(\)來分隔路徑。
使用反斜杠時,用轉義序列更安全。
>>> os.chdir('C:\\Python33')
>>> print(os.getcwd())
C:\Python33使用listdir()方法可以知道目錄內的所有文件和子目錄。
此方法采用一個路徑,并返回該路徑中的子目錄和文件的列表。如果未指定路徑,它將從當前工作目錄返回。
>>> print(os.getcwd())
C:\Python33
>>> os.listdir()
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools']
>>> os.listdir('G:\\')
['$RECYCLE.BIN',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information']我們可以使用mkdir()方法創(chuàng)建一個新目錄。
此方法采用新目錄的路徑。如果未指定完整路徑,則會在當前工作目錄中創(chuàng)建新目錄。
>>> os.mkdir('test')
>>> os.listdir()
['test']rename()方法可以重命名目錄或文件。
第一個參數(shù)是舊名稱,而新名稱必須作為第二個參數(shù)。
>>> os.listdir()
['test']
>>> os.rename('test','new_one')
>>> os.listdir()
['new_one']使用remove()方法可以刪除(刪除)文件。
同樣,rmdir()方法將刪除一個空目錄。
>>> os.listdir()
['new_one', 'old.txt']
>>> os.remove('old.txt')
>>> os.listdir()
['new_one']
>>> os.rmdir('new_one')
>>> os.listdir()
[]但是,請注意rmdir()方法只能刪除空目錄。
為了刪除一個非空目錄,我們可以使用shutil模塊內部的rmtree()方法。
>>> os.listdir()
['test']
>>> os.rmdir('test')
Traceback (most recent call last):
...
OSError: [WinError 145] The directory is not empty: 'test'
>>> import shutil
>>> shutil.rmtree('test')
>>> os.listdir()
[]