【问题标题】:Unzipping multiple zip files in a directory?在一个目录中解压缩多个 zip 文件?
【发布时间】:2013-12-10 12:20:48
【问题描述】:

我需要解压缩一个目录中的多个文件并将它们转换为 csv 文件。 文件在文件内按顺序编号,1.gz、2.gz、3.gz等

这可以在单个脚本中完成还是我必须手动完成?

编辑:当前代码是

 #! /usr/local/bin/python

import gzip
import csv
import os

f = gzip.open('1.gz', 'rb')
file_content = f.read()
filename = '1.txt'
target = open ('1.txt', 'w')
target.write(file_content)
target.close()
filename = '1.csv'
txt_file = '1.txt'
csv_file = '1.csv'
in_txt = csv.reader(open(txt_file, "rb"), delimiter = '\t')
out_csv = csv.writer(open(csv_file, 'wb'))
out_csv.writerows(in_txt)
dirname = '/home/user/Desktop'
filename = "1.txt"
pathname = os.path.abspath(os.path.join(dirname, filename))
if pathname.startswith(dirname):
os.remove(pathname)
f.close()

目前的计划是计算每个目录的 .gz 文件总数,并对每个文件使用循环来解压缩并打印 txt/csv。

这可行还是有更好的方法?

另外,python 是否类似于 perl 中的双引号解释字符串?

【问题讨论】:

  • 欢迎来到 Stack Overflow!看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在发布者已经尝试自己解决问题时才提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、堆栈跟踪、编译器错误 - 无论是什么适用的)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQHow to Ask
  • 不是每个人都愿意为他们他们的工作 :)
  • 我会尽快上传代码,但目前代码在我学校的实验室里。当我可以访问它以获取更多信息时,我会生成代码!
  • 您需要解压缩多个文件并将它们转换为a单个文本文件吗?还是需要解压多个文件,每个文件都转换成对应的文本文件?
  • 我需要将每一个转换成对应的文本文件。

标签: python python-2.7 zip gzip


【解决方案1】:

你几乎不需要 Python :)

但您可以在单个 Python 脚本中执行此操作。您需要使用:

  • 操作系统
  • os.path(可能
  • 压缩包
  • glob(将为您提供一个不错的 glob 文件列表。例如:glob("*.gz")

https://docs.python.org/ 阅读这些模块并开始吧! :)

【讨论】:

  • 非常感谢您,只是需要一个工作方向! :)
  • 没问题。从文档开始总是一个好的起点!
猜你喜欢
  • 1970-01-01
  • 2018-02-24
  • 1970-01-01
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
  • 2021-04-29
  • 2015-09-29
  • 1970-01-01
相关资源
最近更新 更多