python【系列教程】之文件I/O

 

一、使用pathlib模塊操作目錄

 


from pathlib import *

# 創建PurePath,實際上使用PrueWindowsPath
pp = PurePath('setup.py')
print(type(pp))

pp = PurePath('crazyit', 'some/path', 'info')
# 看到windows風格的路徑
print(pp)
# 看到windows風格的路徑
pp = PurePath(Path('crazyit'), Path('info'))
print(pp)
# 看到輸出unix風格的路徑
pp = PurePosixPath('crazyit', 'some/path', 'info')
print(pp)
# 如果不傳入參數,默認使用當前路徑
pp = PurePath()
print(pp)
# 如果傳入的參數包含多個根路徑,則只有最後一個根路徑及後面的子路徑生效
pp = PurePosixPath('/etc', '/user', 'lib64')
print(pp)
pp = PurePosixPath('c:Windows', 'd:info')
print(pp)

pp = PurePosixPath('c:Windows','/Programme Files')
print(pp)

pp = PurePath('foo//bar')
print(pp)

pp = PurePath('foo/./bar')
print(pp)

pp = PurePath('foo/../bar')
print(pp)


"""
輸出內容:
<class 'pathlib.PureWindowsPath'>
crazyit\some\path\info
crazyit\info
crazyit/some/path/info
.
/user/lib64
c:Windows/d:info
/Programme Files
foo\bar
foo\bar
foo\..\bar
"""


 

Path是 PurePath的子類,它除了支持PurePath的各種操作,屬性和方法之外,還會真正的訪問底層的文件系統,包括判斷Path對應的路徑是否存在,獲取Path對應路徑的各種屬性,如是否只讀,是文件還是文件夾等,甚至可以對文件進行讀寫。

#獲取當前目錄下的所有文件和子目錄
p=Path(".")
for x in p.iterdir():
    print(x)
#獲取上級目錄及其子目錄下的.py文件
p = Path('../')
for x in p.glob('**/*.py'):
    print(x)
#獲取g:/publish/codes對應的目錄
p = Path('g:/publish/codes')
for x in p.glob('**/Path_test1.py'):
    print(x)

from pathlib import *

p = Path('./load.py')
result = p.write_text("""有一個美麗的世界他在遠方等我
""", encoding='UTF8')
print(result)  #返回輸入到文件的字符的個數

content = p.read_text(encoding='UTF8')
print(content)  #返回整個文件的內容,也就是剛剛輸出的內容

二、使用os.path操作目錄

 

import  os
import time
#獲取絕對路徑
print(os.path.abspath('abc.txt'))
#獲取共同前綴名
print(os.path.commonprefix(['/usr/lib','/usr/local/lib']))  #/usr/l
#獲取共同路徑
print(os.path.commonpath(['/usr/lib','/usr/local/lib'])) #\usr
#獲取目錄
print(os.path.dirname('abc/xyz/Redme.txt'))   #abc/xyz
#判斷指定目錄是否存在
print(os.path.exists('abc/xyz/Redme.txt')) #False
# 獲取最近一次訪問時間
print(time.ctime(os.path.getatime('os.path_test.py')))

 

三、使用fnmatch處理文件名匹配

 

 

四、打開文件

 

 

 

緩衝

 

 五、讀取文件

 

 

 

六、寫文件

 

 

 

七、os模塊的文件和目錄函數

 

 

 

 

 

 

 

 

 

 

八、使用tempfile模塊生成臨時文件和目錄

 

 

 

 

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