1、在Windows上,使用倒斜桿作為文件夾之間的分隔符,在Linux上,使用正斜杠作為路徑分隔符。在編寫Python腳本時,可以os.path.join()函數來處理
在Windows環境下命令如下,返回的路徑為倒斜桿,倒斜桿有兩個,是因為加了轉義字符
>>>
>>> import os
>>> os.path.join('usr','bin','pigwan7')
'usr\\bin\\pigwan7'
>>>
在Linux環境下命令,返回的路徑為正斜杠
>>>
>>> import os
>>> os.path.join('usr','bin','pigwan7')
'usr/bin/pigwan7'
>>>
2、獲得當前路徑和改變工作路徑
>>>
>>> import os
>>> os.chdir('/usr/bin')
>>> os.getcwd()
'/usr/bin'
>>> os.chdir('/root')
>>> os.getcwd()
'/root'
>>>
3、創建新文件夾
>>>
>>> os.makedirs('/home/xiaobai/study')
>>> os.chdir('/home/xiaobai/study')
>>> os.getcwd()
'/home/xiaobai/study'
>>>
4、相對路徑和絕對路徑
os.path.abspath(path)返回參數的絕對路徑的字符串,os.path.isabs(path),返回一個布爾值,判斷是否是相對路徑
>>>
>>> os.path.abspath('.')
'/home/xiaobai/study'
>>> os.path.isabs('.')
False
>>>
os.path.dirname(path)返回一個字符串,包含path參數中最后一個斜杠之前的所有內容;os.path.basename(path)將返回path參數中最后一個斜杠之后的所有內容
>>>
>>> os.path.dirname('/home/xiaobai/study/test.txt')
'/home/xiaobai/study'
>>> os.path.basename('/home/xiaobai/study/test.txt')
'test.txt'
>>>
os.path.split()返回兩個字符串的元組,包含路徑的目錄名稱和基本名稱
>>>
>>> os.path.split('/home/xiaobai/study/test.txt')
('/home/xiaobai/study', 'test.txt')
>>>
查看文件大小和文件夾內容
os.path.getsize(path)返回path參數中文件的字節數,下面這個例子中的文件大小為51200字節
>>>
>>> os.path.getsize('/home/xiaobai/study/test.txt')
51200
>>>
os.listdir(path)返回path參數中文件名的字符串列表,/home/xiaobai/study目錄下共有3個文件
[root@client01 study]#
[root@client01 study]# pwd
/home/xiaobai/study
[root@client01 study]# ll
total 156
-rw-r--r--. 1 root root 51200 Nov 17 01:28 test1.txt
-rw-r--r--. 1 root root 51200 Nov 17 01:28 test2.txt
-rw-r--r--. 1 root root 51200 Nov 17 01:24 test.txt
[root@client01 study]#
>>>
>>> os.listdir('/home/xiaobai/study/')
['test.txt', 'test1.txt', 'test2.txt']
>>>
利用os.path.getsize(path)和os.listdir()可以計算文件夾下所有文件的大小
>>>
>>> totalSize=0
>>> for filename in os.listdir('/home/xiaobai/study/'):
... totalSize=totalSize + os.path.getsize(os.path.join('/home/xiaobai/study/',filename))
...
>>> print(totalSize)
153600
>>>
5、檢測路徑有效性
>>>
>>> os.path.exists('/home/xiaobai')
True
>>> os.path.isdir('/home/xiaobai')
True
>>> os.path.isfile('/home/xiaobai')
False
>>>