- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用以下代码将 .tgz 和 .tar 文件提取到存档文件所在的同一目录中。它适用于单个文件。但是,当我选择同一目录中的另一个文件进行提取时,当前文件夹将被覆盖(所有文件都提取一个名为 storage 的根文件夹)。我想这就是文件被覆盖的原因。所以,我在任何时候只能在目录中有一个提取的文件。我试图想出一种聪明的方法来将文件提取到同一目录中,也许在提取后将提取的文件命名为唯一的名称。但是,我是一名新手 Python 程序员,目前不具备完成此类任务的技术知识或知识工具集。任何帮助表示赞赏。就目前而言,每次我想提取文件时都必须选择不同的输出目录。
import os, sys, tarfile
def extract(tar_url, extract_path='.'):
print tar_url
tar = tarfile.open(tar_url, 'r')
for item in tar:
tar.extract(item, extract_path)
if item.name.find(".tgz") != -1 or item.name.find(".tar") != -1:
extract(item.name, "./" + item.name[:item.name.rfind('/')])
userpath = "Extracted"
directory = os.path.join("c:\\", userpath)
try:
for root, dirname, files in os.walk(directory):
for file1 in files:
if file1.endswith(".tgz") or file1.endswith(".tar"):
extract(os.path.join(root, file1))
print 'Done!'
except:
name = os.path.basename(sys.argv[0])
print name[:name.rfind('.')], '<filename>'
最佳答案
为什么不维护一个全局计数器,并在每次提取文件时将其附加到 extract() 方法中的“extract_path”?一旦提取(在 extract() 方法的末尾)增加计数器。
import os, sys, tarfile
global counter
counter=1
def extract(tar_url, extract_path='.'):
global counter
print tar_url
tar = tarfile.open(tar_url, 'r')
for item in tar:
tar.extract(item, extract_path+"_%d"%counter)
counter+=1
if item.name.find(".tgz") != -1 or item.name.find(".tar") != -1:
extract(item.name, "./" + item.name[:item.name.rfind('/')])
关于python - 我想将所有 .tgz 和 .tar 文件提取到一个目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310794/
我正在使用下面的代码来提取 .tgz 文件。我需要提取的日志文件类型 (.tgz) 的子目录中包含其他 .tgz 文件和 .tar 文件他们。我也想提取它们。 最终,我试图在所有 .log 文件和 .
我正在尝试获取一个正则表达式(在 bash 中)来识别仅具有以下扩展名的文件: tgz、tar.gz、TGZ 和 TAR.GZ。 我尝试了几个但无法让它工作。 我使用此正则表达式来仅选择具有这些扩展名
概述 我正在创建我的 Docker 镜像来设置 Rockmongo。 在 Dockerfile 中,我有一个命令 pecl install mongo 该命令以前有效,但今天运行时出现此错误, 正在下
我使用 CMake 来管理具有以下布局的项目: ProjectA/ include doc test ProjectB include doc test 我想用 CPack 打
我正在尝试即时读取存储在 .tgz 目录中的一组 .xml 文档。 .tgz 文件的结构是顶级文件夹 01,带有子目录 A1、A2 等,每个 Ax 目录中都有一组我希望读取的 .xml 文档。例如。
Haskell 的 cabal 包管理器将最近的包源代码存储在 ~/Library/Haskell/repo-cache/*/*.tgz 我发现人们经常希望将 Haskell 模块源代码称为文档。 我
#!/bin/bash mkdir /tmp curl -O http://www.mucommander.com/download/nightly/mucommander-current.app.t
如何创建一个空的 tgz 文件?我试过了 tar czvf /tmp/empty.tgz --from-file /dev/null tar: Option --from-file is not su
我有许多名称完全相同的 .tgz 文件,我想将它们全部解压到一个具有唯一名称的目录中。我的偏好是附加 .tgz 所在文件夹的名称, original location= /folder1/folder
我正在尝试从此网站下载 tgz 文件: https://plg.uwaterloo.ca/cgi-bin/cgiwrap/gvcormac/foo07 这是我的脚本: import os from s
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
我想在 here 安装 scala我很关心下载哪一个:zip 还是 tgz。它们之间有什么区别,用例是什么? 最佳答案 它们是不同的archive formats .使用它们是因为它可以节省带宽并且因
我正在尝试用 python 压缩一些文件。我正在使用子进程,问题是我不知道如何压缩所有文件。这是我所做的: comand = czf saveFolder = /home/albert/a.tgz t
我一直在寻找一种解决方案,可以使用 C# 从 .tgz 或 .tar.gz 存档中读取一个或多个文件,而无需将文件提取到磁盘。 我已经确定了一些在 GNU 许可下发布的第三方库,这些库允许某人提取 .
我们正在实现一个客户端 Web 应用程序,该应用程序仅通过 XMLHttpRequests(和 AJAX 引擎)与服务器通信。 XHR 响应通常是带有一些 XML 的纯文本,但在这种情况下,服务器以
我需要为我们公司的内部nodejs开发设置一个私有(private)的nexus oss 3。项目依赖项必须从开发人员的计算机上下载并复制到专用网络,然后上传/发布到专用连接实例。 我们已经编写了一些
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我发现 magento 有问题。我试图通过将一个 .tgz 压缩文件与另一个 pdf 文件一起压缩来上传到 magento。但是,当我尝试从 magento 下载它时,.tgz 文件已损坏。我在 4-
我刚刚从tensorflow.org下载了inception.tgz文件,地址为http://download.tensorflow.org/models/image/imagenet/incepti
我在 tgz 存档中有一个带有补丁的内核源代码。大多数补丁在内核 git 中都是已知的,但我不知道哪些已被集成。我如何知道源代码应用了哪些补丁? 最佳答案 似乎您正在将源代码复制到 git 存储库的外
我是一名优秀的程序员,十分优秀!