【问题标题】:Creating "empty" files with different extensions from list of file paths从文件路径列表中创建具有不同扩展名的“空”文件
【发布时间】:2017-03-22 23:56:40
【问题描述】:

我有一个名为viszFiles 的列表,其中包含['/Users/Blake/Deskop/blake.shelton.visz', '/Users/Blake/Deskop/bill.bob-1.visz'] 文件夹中.visz 文件的所有文件路径。

列表是由这段代码的sn-p生成的:

viszFiles = [] #List of .visz file paths
for root, dirs, files in os.walk('/Users/Blake/Desktop/'):
    [viszFiles.append(os.path.join('/Users/Blake/Deskop/', _file))
        for _file in files if
            fnmatch.fnmatch(_file, '*.visz')]

我进行了长时间的艰苦搜索,但未能找到确切的解决方法:打开 .visz 文件(基本上是 .tar.gz 文件),然后创建这些文件的“空” .ovpn 版本只保留它们的根名称,例如 blake.shelton.visz 将变为 blake.shelton.ovpn 等等,对于列表中具有路径的任何其他文件。我不想复制任何数据,只需创建一个 .ovpn(我相信基本上是一个 .tar.gz 文件)具有相同根名称的“空”副本,同时保留原件。

非常感谢您的帮助!

【问题讨论】:

  • 你试过 tarfile 模块吗?
  • @user1753919 我知道我必须使用它,并且我已经尝试了一些东西,但是我很难将它与我正在尝试做的事情一起使用。我无法在网上找到太多帮助。

标签: python list file-io filesystems


【解决方案1】:

如果文件列表创建正确,您可以使用一些额外的行来创建空文件。希望这会有所帮助。

viszFiles = [] #List of .visz file paths
    for root, dirs, files in os.walk('/Users/Blake/Desktop/'):
        [viszFiles.append(os.path.join('/Users/Blake/Deskop/', _file))
            for _file in files if
            fnmatch.fnmatch(_file, '*.visz')]

for file in viszFiles:
    filename, file_extension = os.path.splitext(file)
    filename += '.visz'
    with open(filename,'w') as f:
        pass

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 2015-11-08
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 2021-12-09
    相关资源
    最近更新 更多