Python標準庫04 檔案管理 (部分os包,shutil包)

來源:互聯網
上載者:User

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

 

我們可以通過作業系統的命令來管理檔案,如同我們在linux檔案管理相關命令中看到的那樣。另一方面,python標準庫則允許我們在python內部管理檔案。相同的目的,我們就有了兩條不同的途徑實現。在python內部實現的優勢在於你可以同時利用python語言,並配合其他python工具,比如Regex工具。但作業系統同樣可以通過shell編程,來整合linux檔案管理命令,shell也擁有自己的Regex工具。python or shell? 這是留給使用者的選擇。本文中會盡量將兩者相似的功能相對應。

同樣,本文也是基於linux檔案管理背景知識

(python並不是叫用作業系統的命令來實現這些功能的。python獨立地調用c標準庫以及系統調用函數來實現。當然,在python中也可以叫用作業系統的命令,我們會在以後介紹如何?這一功能。)

1. os包: 

os包包括各種各樣的函數,以實現作業系統的許多功能。這個包非常龐雜。os包的一些命令就是用於檔案管理。我們這裡列出最常用的:

mkdir(path)

建立新目錄,path為一個字串,表示新目錄的路徑。相當於$mkdir命令

rmdir(path)

刪除空的目錄,path為一個字串,表示想要刪除的目錄的路徑。相當於$rmdir命令

listdir(path)

返回目錄中所有檔案。相當於$ls命令。

 

remove(path)

刪除path指向的檔案。

rename(src, dst)

重新命名檔案,src和dst為兩個路徑,分別表示重新命名之前和之後的路徑。 

 

chmod(path, mode)

改變path指向的檔案的許可權。相當於$chmod命令。

chown(path, uid, gid)

改變path所指向檔案的擁有者和擁有組。相當於$chown命令。

stat(path)

查看path所指向檔案的附加資訊,相當於$ls -l命令。

symlink(src, dst)

為檔案dst建立軟連結,src為軟連結檔案的路徑。相當於$ln -s命令。

 

getcwd()

查詢當前工作路徑 (cwd, current working directory),相當於$pwd命令。

 

比如說我們要建立目錄new:

import osos.mkdir('/home/vamei/new')

 

2. shutil包

copy(src, dst)

複製檔案,從src到dst。相當於$cp命令。

move(src, dst)

移動檔案,從src到dst。相當於$mv命令。

 

比如我們想複製檔案a.txt:

import shutilshutil.copy('a.txt', 'b.txt')

 

關於本文中的各個命令的細節,請參照官方文檔。os, shutil。實際上,結合本章以及之前的內容,我們已經可以把Python作為一個系統檔案管理的利器使用了。

 

總結:

os包: rmdir, mkdir, listdir, remove, rename, chmod, chown, stat, symlink

shutil包: copy, move

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.