os模塊對文件路徑的-概述

(1)os.path.join()函數

如果將單個文件和路徑上的文件夾名稱的字符串傳遞給它,os.path.join()就會返回一個文件路徑的字符串,包含正確的路徑分隔符。

>>> import os
>>> os.path.join('usr', 'bin', 'spam')
'usr\\bin\\spam'  #出現兩個反斜槓的原因是因爲有一個是轉義字符。 我調用他的話,這Y的就是一個

import os
a = os.path.join('usr', 'bin', 'spam')
print(a)#返回usr\bin\spam

還可以使用os.path.join(a,b)   a 和b ,a是b的爸爸

例:

import os
a = ['a','b','c']

for i in a:
    print(os.path.join('G:\\1\\2\\', i))

輸出:
G:\1\2\a.txt
G:\1\2\b.txt
G:\1\2\c.txt

(2)os.getcwd()函數 返回當前目錄

例:

import os

print(os.getcwd())#返回當前的工作目錄

 

(3)用os.makedirs()創建新文件夾

import os
os.makedirs('G:\\新的\\文件夾') #新建的文件夾 ‘新的’是‘文件夾’的爸爸 倆都是文件夾

(4)處理絕對路徑和相對路徑

• 調用os.path.abspath(path)將返回參數的絕對路徑的字符串。這是將相對路徑轉
換爲絕對路徑的簡便方法。
• 調用os.path.isabs(path),如果參數是一個絕對路徑,就返回True,如果參數是
一個相對路徑,就返回False。
• 調用os.path.relpath(path, start)將返回從start 路徑到path 的相對路徑的字符串。
如果沒有提供start,就使用當前工作目錄作爲開始路徑。

>>> os.path.relpath('C:\\Windows', 'C:\\')
'Windows'
>>> os.path.relpath('C:\\Windows', 'C:\\spam\\eggs')
'..\\..\\Windows'
>>> os.getcwd()
'C:\\Python34'

 

調用os.path.dirname(path)將返回一個字符串,它包含path 參數中最後一個斜槓之前的所有內容。

調用os.path.basename(path)將返回一個字符串,它包含path 參數中最後一個斜槓之後的所有內容。

>>> path = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.basename(path)
'calc.exe'
>>> os.path.dirname(path)
'C:\\Windows\\System32'

如果同時需要一個路徑的目錄名稱和基本名稱,就可以調用os.path.split(),獲得這兩個字符串的元組

得這兩個字符串的元組,像這樣:
>>> calcFilePath = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.split(calcFilePath)
('C:\\Windows\\System32', 'calc.exe')

 

import os
path = 'G:\\xin\\dd\\sa.txt' #傳進去目錄
print(path.split(os.path.sep)) #將目錄轉換爲列表。

輸出:['G:', 'xin', 'dd', 'sa.txt']

split()字符串方法將返回一個列表,包含該路徑的所有部分。如果向它傳遞
os.path.sep,就能在所有操作系統上工作。

 

(4)查看文件大小和文件夾內容

調用os.path.getsize(path)將返回path 參數中文件的字節數。 就是返回某個文件的大小

import os 

os.path.getsize('G:\')

調用os.listdir(path)將返回文件名字符串的列表,包含path 參數中的每個文件

import os 

>>> os.listdir('G:\\python\\')
['.idea', 'anaconda']
遍歷目錄下的文件

 

檢查路徑的有效性

• 如果path 參數所指的文件或文件夾存在,調用os.path.exists(path)將返回True,
否則返回False。
• 如果path 參數存在,並且是一個文件,調用os.path.isfile(path)將返回True,否
則返回False。
• 如果path 參數存在,並且是一個文件夾,調用os.path.isdir(path)將返回True,
否則返回False。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章