ipfs python API及使用(二)
阿新 • • 發佈:2018-12-11
主要介紹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的具體操作。