我需要编写一个tkinter对话框,用户必须输入仅三个字母(文件扩展名)。我正在使用我的代码向用户询问某个文件夹中的两种不同类型的文件,但是存在小写和大写扩展名的文件,因此我需要将结果转换为大写和小写字符串。 / p>
这是我的代码:
class ext_box(tkSimpleDialog.Dialog):
def body(self, master):
Label(master, text="First file extension:").grid(row=0)
Label(master, text="Second file extension:").grid(row=1)
self.e1 = Entry(master)
self.e2 = Entry(master)
self.e1.grid(row=0, column=1)
self.e2.grid(row=1, column=1)
return self.e1
def validate(self):
try:
ext1 = ?
ext2 = ?
self.result = ext1, ext2
return 1
except ValueError:
tkMessageBox.showwarning(
"Please try again."
)
return 0
修改
此代码适用于 ext1 = self.e1.get()和 ext1 = self.e2.get()。
我的问题是:
如何定义三个字母作为用户对ext1和ext2的输入?获得这些结果后,如何为每个结果输入大写和小写?
答案 0 :(得分:1)
您的问题是如何将字符串转换为大写或小写?在这种情况下,您可以使用string.upper()或string.lower()
示例:
>>> 'a'.upper()
'A'
>>> 'A'.lower()
'a'
答案 1 :(得分:0)
为了从Entry
项中提取当前值,您需要以下内容:
ext1 = self.e1.get()
ext2 = self.e2.get()
但是不太可能提出ValueError
,您需要进一步验证代码。合适的验证码可能看起来像这样。
if (len(ext1) != 3 or not ext1.isalpha()
or len(ext2) != 3 or not ext1.isalpha()):
raise ValueError