在本文中,您將了解Python中的文件和目錄管理,即創(chuàng)建一個目錄,重命名它,列出所有目錄并使用它們。
如果您的Python程序中要處理大量文件,則可以將代碼排列在不同的目錄中,以使事情更易于管理。
目錄或文件夾是文件和子目錄的集合。Python具有os 模塊,它為我們提供了許多使用目錄(和文件)的有用方法。
我們可以使用該getcwd()方法獲取當前的工作目錄。
此方法以字符串形式返回當前工作目錄。我們還可以使用getcwdb()方法將其作為字節(jié)對象獲取。
>>> import os >>> os.getcwd() 'C:\\Program Files\\PyScripter' >>> os.getcwdb() b'C:\\Program Files\\PyScripter'
額外的反斜杠表示轉(zhuǎn)義序列。print()函數(shù)將正確地呈現(xiàn)它。
>>> print(os.getcwd()) C:\Program Files\PyScripter
我們可以使用chdir()方法更改當前工作目錄。
我們要更改的新路徑必須作為字符串提供給此方法。我們可以使用正斜杠(/)或反斜杠(\)來分隔路徑。
使用反斜杠時,用轉(zhuǎn)義序列更安全。
>>> os.chdir('C:\\Python33') >>> print(os.getcwd()) C:\Python33
使用listdir()方法可以知道目錄內(nèi)的所有文件和子目錄。
此方法采用一個路徑,并返回該路徑中的子目錄和文件的列表。如果未指定路徑,它將從當前工作目錄返回。
>>> 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模塊內(nèi)部的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() []