操作文件和目錄

在Python程序中執(zhí)行這些目錄和文件的操作怎么辦?

os模塊,幸運(yùn)的是shutil模塊提供了copyfile()的函數(shù),你還可以在shutil模塊中找到很多實(shí)用函數(shù),它們可以看做是os模塊的補(bǔ)充。

如果是posix,說明系統(tǒng)是Linux、Unix或Mac OS X,如果是nt,就是Windows系統(tǒng)。

環(huán)境變量

os.environ

要獲取某個環(huán)境變量的值,可以調(diào)用os.environ.get('key')

查看、創(chuàng)建和刪除目錄可以這么調(diào)用

# 查看當(dāng)前目錄的絕對路徑:

>>> os.path.abspath('.')

'/Users/michael'

# 在某個目錄下創(chuàng)建一個新目錄,首先把新目錄的完整路徑表示出來:

>>> os.path.join('/Users/michael', 'testdir')

'/Users/michael/testdir'

# 然后創(chuàng)建一個目錄:

>>> os.mkdir('/Users/michael/testdir')

# 刪掉一個目錄:

>>> os.rmdir('/Users/michael/testdir')

把兩個路徑合成一個時,不要直接拼字符串,而要通過os.path.join()函數(shù),這樣可以正確處理不同操作系統(tǒng)的路徑分隔符。在Linux/Unix/Mac下,os.path.join()返回這樣的字符串:

part-1/part-2

而Windows下會返回這樣的字符串:

part-1\part-2

同樣的道理,要拆分路徑時,也不要直接去拆字符串,而要通過os.path.split()函數(shù),這樣可以把一個路徑拆分為兩部分,后一部分總是最后級別的目錄或文件名:

>>> os.path.split('/Users/michael/testdir/file.txt')

('/Users/michael/testdir', 'file.txt')

os.path.splitext()可以直接讓你得到文件擴(kuò)展名,很多時候非常方便:

>>> os.path.splitext('/path/to/file.txt')

('/path/to/file', '.txt')

這些合并、拆分路徑的函數(shù)并不要求目錄和文件要真實(shí)存在,它們只對字符串進(jìn)行操作。

# 對文件重命名:

>>> os.rename('test.txt', 'test.py')

# 刪掉文件:

>>> os.remove('test.py')

列出當(dāng)前目錄下的所有目錄

>>> [x for x in os.listdir('.') if os.path.isdir(x)]

['.lein', '.local', '.m2', '.npm', '.ssh', '.Trash', '.vim', 'Applications', 'Desktop', ...]

要列出所有的.py文件,

>>> [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']

['apis.py', 'config.py', 'models.py', 'pymonitor.py', 'test_db.py', 'urls.py', 'wsgiapp.py']

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • os模塊的基本功能:>>> import os>>> os.name # 操作系統(tǒng)類型'posix'如果是posi...
    牛崽兒酷閱讀 165評論 0 0
  • 一、OS1、Python內(nèi)置的os模塊也可以直接調(diào)用操作系統(tǒng)提供的接口函數(shù) 2、Windows不提供 二、目錄操作...
    小書bluebirds閱讀 228評論 0 0
  • 轉(zhuǎn)載自:廖雪峰的官方網(wǎng)站: http://www.liaoxuefeng.com/wiki/00143160895...
    yuwenxianglong閱讀 442評論 0 0
  • Python操作文件和目錄 讀寫文件比較簡單,有一點(diǎn)特別注意就好了 windows下Python默認(rèn)打開的文件以g...
    sunhaiyu閱讀 1,349評論 0 3
  • 如果我們要操作文件、目錄,可以在命令行下面輸入操作系統(tǒng)提供的各種命令來完成。比如dir、cp等命令。 如果要在Py...
    Zhigang_Han閱讀 543評論 0 0