Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyfilesystem可以组合模式吗?_Python_Pyfilesystem - Fatal编程技术网

Python pyfilesystem可以组合模式吗?

Python pyfilesystem可以组合模式吗?,python,pyfilesystem,Python,Pyfilesystem,我想将pyfilesystem与模式结合使用。例如,我想在FTP服务器上打开一个tar文件,然后我将执行FTP+tar://user:password@主机:port/path/file.tar.gz。不是这样,但是TarFS构造函数接受打开的文件。因此,沿着这些思路应该可以做到: with open_fs("ftp://user:password@host:port/") as ftp_fs: with ftp_fs.open("path/file.tar

我想将pyfilesystem与模式结合使用。例如,我想在FTP服务器上打开一个tar文件,然后我将执行FTP+tar://user:password@主机:port/path/file.tar.gz。

不是这样,但是TarFS构造函数接受打开的文件。因此,沿着这些思路应该可以做到:

with open_fs("ftp://user:password@host:port/") as ftp_fs:
    with ftp_fs.open("path/file.tar.gz") as tar_file:
        my_tar = TarFS(tar_file)
        my_tar.tree()

我的结局是这样的:

@contextmanager
def open_url(url:str,
模式:str=“r”,
create:bool=False,
缓冲:int=-1,
编码:可选[str]=None,
错误:可选[str]=无,
换行:str=“”,
**选项:任何,
)->typing.IO:
writeable=如果模式中的“w”为False,则为True
目录url,文件名=os.path.split(url)
将open_fs(dir_url,可写,创建)作为fs_:
打开(文件名、模式、缓冲、编码、错误、换行符、,
**选项)作为文件类型:
屈服文件_