❶ 如何學習python的os模塊
一、os模塊概述
Python os模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平台無關的話,這個模塊是尤為重要的。(一語中的)
二、常用方法
1、os.name
輸出字元串指示正在使用的平台。如果是window 則用'nt'表示,對於Linux/Unix用戶,它是'posix'。
2、os.getcwd()
函數得到當前工作目錄,即當前Python腳本工作的目錄路徑。
3、os.listdir()
返回指定目錄下的所有文件和目錄名。
>>> os.listdir(os.getcwd())
['Django', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'MySQL-python-wininst.log', 'NEWS.txt', 'PIL-wininst.log', 'python.exe', 'pythonw.exe', 'README.txt', 'RemoveMySQL-python.exe', 'RemovePIL.exe', 'Removesetuptools.exe', 'Scripts', 'setuptools-wininst.log', 'tcl', 'Tools', 'w9xpopen.exe']
>>>
4、os.remove()
刪除一個文件。
5、os.system()
運行shell命令。
>>> os.system('dir')
0
>>> os.system('cmd') #啟動dos
6、os.sep 可以取代操作系統特定的路徑分割符。
7、os.linesep字元串給出當前平台使用的行終止符
>>> os.linesep
'\r\n' #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
>>> os.sep
'\\' #Windows
>>>
8、os.path.split()
函數返回一個路徑的目錄名和文件名
>>> os.path.split('C:\\Python25\\abc.txt')
('C:\\Python25', 'abc.txt')
9、os.path.isfile()和os.path.isdir()函數分別檢驗給出的路徑是一個文件還是目錄。
>>> os.path.isdir(os.getcwd())
True
>>> os.path.isfile('a.txt')
False
10、os.path.exists()函數用來檢驗給出的路徑是否真地存在
>>> os.path.exists('C:\\Python25\\abc.txt')
False
>>> os.path.exists('C:\\Python25')
True
>>>
11、os.path.abspath(name):獲得絕對路徑
12、os.path.normpath(path):規范path字元串形式
13、os.path.getsize(name):獲得文件大小,如果name是目錄返回0L
14、os.path.splitext():分離文件名與擴展名
>>> os.path.splitext('a.txt')
('a', '.txt')
15、os.path.join(path,name):連接目錄與文件名或目錄
>>> os.path.join('c:\\Python','a.txt')
'c:\\Python\\a.txt'
>>> os.path.join('c:\\Python','f1')
'c:\\Python\\f1'
>>>
16、os.path.basename(path):返迴文件名
>>> os.path.basename('a.txt')
'a.txt'
>>> os.path.basename('c:\\Python\\a.txt')
'a.txt'
>>>
17、os.path.dirname(path):返迴文件路徑
>>> os.path.dirname('c:\\Python\\a.txt')
'c:\\Python'
❷ Python內置OS模塊用法詳解
本文詳細介紹了Python內置OS模塊的用法。OS模塊提供了一系列操作系統功能,如目錄操作、文件操作等,下面將逐一進行解析。
在目錄操作中,`mkdir()` 方法用於在當前目錄下創建目錄,其默認模式為0777(八進制),而`makedirs()` 方法則可以遞歸創建目錄,並在目錄已存在時拋出異常。示例代碼如下:
python
import os
os.mkdir('mydir')
os.makedirs('mydir/subdir')
刪除目錄時,`rmdir()` 方法會刪除指定路徑的目錄,但僅當目錄為空時才可執行,否則會拋出異常。`removedirs()` 方法同樣遞歸刪除目錄,但在目錄不為空時也會拋出異常。
重命名目錄可以使用`rename()` 方法,該方法從 src 到 dst 進行重命名,如果 dst 已存在則會拋出異常。對於遞歸重命名,可以使用`renames()` 方法。
獲取目錄信息方面,`listdir()` 方法返回指定目錄的文件名列表,適用於 Unix 和 Windows,而`getcwd()` 方法返回當前工作目錄,`chdir()` 方法用於改變當前工作目錄。
遍歷目錄功能,`walk()` 方法在目錄樹中遊走,輸出目錄中的文件名,適用於 Unix 和 Windows。
文件操作中,`os.open()` 方法用於打開文件,提供打開選項,`os.write()` 方法用於寫入文件,`os.lseek()` 方法用於設置文件位置,`os.read()` 方法用於從文件中讀取數據,`os.fsync()` 方法強制將文件內容寫入硬碟,最後`os.close()` 方法關閉文件。
以上便是Python內置OS模塊的基本用法,通過這些功能,我們可以在Python中進行高效、靈活的文件和目錄管理。
❸ python中如何遍歷指定目錄下的所有文件
Python中使用os模塊遍歷指定目錄下的所有文件:
1. 導入os模塊:
Python的os模塊提供了大量與操作系統交互的函數。為了遍歷指定目錄下的所有文件,首先需要導入這個模塊。
2. 使用os.walk函數:
os.walk是一個生成器,可以遍歷指定目錄及其子目錄下的所有文件和文件夾。該函數返回一個三元組,包含當前目錄路徑、當前目錄下的子目錄列表以及當前目錄下的文件列表。通過遞歸調用os.walk,可以遍歷整個目錄結構。
3. 遍歷文件:
在os.walk生成的每個三元組中,可以分別處理目錄和文件。例如,如果想獲取某個目錄下的所有文件的路徑,可以直接處理os.walk返回的每個三元組中的文件列表。下面是一個簡單的示例代碼:
python
import os
def traverse_files:
for root, dirs, files in os.walk:
for file in files: # 遍歷當前目錄下的所有文件
print) # 輸出文件的完整路徑
在這段代碼中,`traverse_files`函數接受一個目錄作為參數,然後使用os.walk遍歷該目錄及其子目錄中的所有文件。對於每個文件,使用os.path.join函數將目錄路徑和文件名合並,得到文件的完整路徑並列印出來。
這種方法不僅適用於普通的文件,還能處理目錄中的子目錄及其文件。需要注意的是,如果要處理大量的文件或深層目錄結構,可能要考慮處理效率和資源消耗的問題。另外,當遍歷的目錄中存在某些特殊文件或不可訪問的文件時,程序可能會拋出異常,需要根據實際情況進行適當的異常處理。