1. 程式人生 > >ipfs python API及使用(二)

ipfs python API及使用(二)

主要介紹ipfs files命令的主要操作。

ipfs files命令族允許我們像操作unix檔案系統一樣操作ipfs物件。在ipfs files中包含很多子命令:

ipfs files cp <source> <dest>  - 將檔案拷貝到mfs中
ipfs files flush [<path>]      - 將指定路徑的資料重新整理到磁碟
ipfs files ls [<path>]         - 列表顯示本地可變名稱空間中的目錄
ipfs files mkdir <path>        - 建立目錄
ipfs files mv <source> <dest>  - 移動檔案
ipfs files read <path>         - 讀取指定mfs中的檔案
ipfs files rm <path>...        - 刪除指定檔案
ipfs files stat <path>         - 顯示檔案狀態
ipfs files write <path> <data> - 寫入指定檔案系統中的可變檔案

 這些之命令在python api中均給予了實現:

def files_cp(self, source, dest, **kwargs);

def files_ls(self, path, **kwargs);

def files_mkdir(self, path, parents=False, **kwargs);

def files_stat(self, path, **kwargs);

def files_rm(self, path, recursive=False, **kwargs);

def files_read(self, path, offset=0, count=None, **kwargs);

def files_write(self, path, file, offset=0, create=False, truncate=False,
                    count=None, **kwargs);

def files_mv(self, source, dest, **kwargs);

 要了解他們具體的實現細節可以把python API程式碼下載下來進行閱讀。

下面講解他們的具體使用:

import ipfsapi 
c = ipfsapi.connect('127.0.0.1', 5001)

(1)複製:

c.files_cp("/test", "/bla")

當時在進行復制的時候,發現路徑怎麼也不對,這裡的路徑需要通過ipfs files mkdir進行建立,是ipfs中的根目錄下的,而不是PC上的絕對路徑。當時我在程式設計時這方面幾乎沒有資料,嘗試了很多。 比如可以:ipfs files mkdir /test 建立一個在ipfs根目錄下的test然後才可使用ipfs files的操作程式碼對檔案進行操作。

(2)遍歷檔案:

 c.files_ls("/")

上述程式碼的含義是遍歷ipfs根目錄下的檔案

(3)建立資料夾:

c.files_mkdir("/test")

 通過程式設計在ipfs根目錄下建立一個名為test的資料夾

(4)刪除一個檔案:

c.files_rm("/bla/file")

(5) 讀取一個檔案的內容:

c.files_read("/bla/file")

(6) 對一個檔案進行寫操作:

c.files_write("/test/file", io.BytesIO(b"hi"), create=True)

 在寫操作之前需要: import io

(7)移動一個檔案:

c.files_mv("/test/file", "/bla/file")

 以上就是ipfs files 的python api的具體操作。