【发布时间】:2016-06-20 11:58:54
【问题描述】:
这很难总结我想要做的事情,我怀疑标题是否让它更容易理解,但是......
我正在使用 tkinter 构建一个选项对话框,允许用户输入自己的文件名分解结构。 Os.Walk 将根据用户输入读取和设置文件夹结构。
配置解析器/用户输入
[Alpha] aoth = file[:1], file[:3]
问题是我可以根据用户输入分解结构(即在 Alpha 结构中读取“aoth”,按两个文件夹分解)。然而 Os.Walk/Python 认为这是实际输入。分解代码只显示相关信息:
for root, subFolders, files in os.walk(Entry.get(self.sourceE)):
for file in files:
if not file.startswith('.'):
if file[0].isalpha():
alpfol = '%s' % self.alpha_fol.get()
alset = self.alphaa_radio.get()
if alset == 1:
file_strut = '%s' % file[:1]
elif alset == 2:
file_strut = '%s/%s' % (file[:1], file[:2])
elif alset == 3:
files_strip = [st.strip() for st in (self.radio_aBoxV.get()).split(',')]
files_count = len(files_strip)
###
file_count_check = '%s/'*files_count
file_strut = file_count_check % tuple(files_strip)
###
subFolder = os.path.join(Entry.get(self.destE), alpfol, file_strut)
checkFile = os.path.join(subFolder, file)
........
我知道这不是最优雅的代码,但 alset 1/2 可以完美运行,而 alset 3 将 file[:1]/file[:3] 视为文字输入。我如何让用户输入读取实际的文件名并相应地分解?我敢肯定,我错过了一些非常简单的东西。
感谢您阅读本文!
【问题讨论】:
-
什么是“文件名分解结构”?
-
另外,这很奇怪:
Entry.get(self.sourceE)-- 你为什么不打电话给self.sourceE.get()? -
让我详细说明。用户想要将文件从源文件夹移动到目标文件夹。使用选项对话框,他在三个选项之间进行选择。选项A按文件名的第一个字母排序(A/Alpha.tiff),选项B按First然后后两个排序(C/CH/Chicken.jpg),最后选项C允许用户输入自己的.我无法让选项 C 的 self.radio_aBoxV.get() 将输入视为实际文件变量。
-
是的,我还没来得及修复那部分 :) 但这还不是问题。
-
这句话毫无意义:“我无法让选项 C 的 self.radio_aBoxV.get() 处理输入” - 单选按钮不“处理输入” .它拥有一个价值,仅此而已。你是说它返回错误的值吗?
self.radio_aBoxV.get()返回什么?
标签: python-2.7 tkinter user-input configparser os.walk