gpt4 book ai didi

python - 对话框窗口选择文件的数量限制?

转载 作者:行者123 更新时间:2023-12-01 05:39:56 24 4
gpt4 key购买 nike

Python 版本:2.7 Tk 版本:8.5

引用我之前的问题how to add the selected files from dialog window to a dictionary?

我试图从对话框窗口中选择 500 个文件并提取它们的名称作为字典的键。文件总大小约为200M。我不知道为什么我得到一本空字典。但是,如果我每次选择较少的文件(例如 100 个),则每次效果都很好。所以我的问题是,对话框窗口选择文件或字典中的键是否有数量限制?

sys.path.append("C:\MY PATH")
os.environ['PATH']+=";C:\MY PATH"

print "Please select your txt files in the dialog window >>"
filez = tkFileDialog.askopenfilenames(parent=root,multiple='multiple',title='Choose a file',filetypes=[('txt file','.txt'),('All files','.*')])

mydict = {}
for FilenameWithPath in filez:
path, Filename = os.path.split(str(FilenameWithPath))
## Filename = sys.path.basename(FilenameWithPath)
mydict[Filename] = len(mydict)
print "mydict " + str(mydict)
print "\n"

如果我选择所有 500 个文件,它只会给出

mydict {}

有什么解决办法吗?谢谢。

最佳答案

我想我可以看出问题出在哪里。我做了一些调试,发现返回到 filez 的数据类型是 unicode 字符串(您似乎期望的是列表或元组)。

您需要在循环之前对其进行转换。如果您的文件名都不包含空格,那么这应该只是一个简单的问题:

file_list = files.split()

但是,如果不是这种情况,则上述方法将不起作用,并且包含空格的文件名要用大括号 {} 括起来。

根据this page,这实际上可能是一个错误。但是,还建议采取一种解决方法,将字符串转换为元组:

file_list=  master.tk.splitlist(filez)

希望这有帮助。

关于python - 对话框窗口选择文件的数量限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17863290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com