主要介绍ipfs files命令的主要操作。
ipfs files命令族允许我们像操作unix文件系统一样操作ipfs对象。在ipfs files中包含很多子命令:
ipfs files cp
这些之命令在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的具体操作。