小编Tha*_*mas的帖子

从zip中提取文件而不使用python ZipFile保留结构?

我尝试从包含一个文件夹中的子文件夹的.zip中提取所有文件.我希望子文件夹中的所有文件只在一个文件夹中提取,而不保留原始结构.此刻,我提取所有内容,将文件移动到文件夹,然后删除以前的子文件夹.具有相同名称的文件被覆盖.

在写文件之前可以这样做吗?

这是一个结构,例如:

my_zip/file1.txt
my_zip/dir1/file2.txt
my_zip/dir1/dir2/file3.txt
my_zip/dir3/file4.txt
Run Code Online (Sandbox Code Playgroud)

最后我告诉你:

my_dir/file1.txt
my_dir/file2.txt
my_dir/file3.txt
my_dir/file4.txt
Run Code Online (Sandbox Code Playgroud)

我可以在此代码中添加什么内容?

import zipfile
my_dir = "D:\\Download\\"
my_zip = "D:\\Download\\my_file.zip"

zip_file = zipfile.ZipFile(my_zip, 'r')
for files in zip_file.namelist():
    zip_file.extract(files, my_dir)
zip_file.close()
Run Code Online (Sandbox Code Playgroud)

如果我从zip_file.namelist()重命名文件路径,我有这个错误:

KeyError: "There is no item named 'file2.txt' in the archive"
Run Code Online (Sandbox Code Playgroud)

python extract unzip zipfile

41
推荐指数
4
解决办法
3万
查看次数

如果复制字典中的键,如何引发错误

如果用户在字典中输入重复键,我会尝试引发错误.字典在文件中,用户可以手动编辑文件.

例:

dico= {'root':{
                'a':{'some_key':'value',...},
                'b':{'some_key':'value',...},
                'c':{'some_key':'value',...},
                ...

                'a':{'some_key':'value',...},
              }
      }
Run Code Online (Sandbox Code Playgroud)

新密钥'a'已经存在......

当我从文件加载dico时,如何测试dico并警告用户?

python dictionary duplicates

11
推荐指数
2
解决办法
1万
查看次数

是否可以使用标准库(无需额外模块)最小化 python 中的控制台?

我编写了一个使用控制台的程序。大多数时候,用户必须看到控制台信息。对于命令行中的特定功能,我想在没有控制台升起的情况下运行脚本。我只是不想看到该窗口,但它可以在任务栏中。我知道我可以使用额外的模块(gui,win32,..)来做到这一点,但我想使用标准的 python 库。

可以这样做吗?

该程序应在 Windows 上运行。(蟒蛇2.7)

我指定...我知道我也可以使用 pythonw.exe 。那么问题是如何有时使用 python.exe 启动相同的脚本,并使用 pythonw.exe (从命令行)启动特定功能?

python console minimize standard-library

4
推荐指数
1
解决办法
9340
查看次数