我在 python 中编写了一些加密代码,它从用户那里获取原始输入消息,然后使用 AES 对其进行加密和解密。现在我想增强工作,我希望我可以从代码中打开 Windows 资源管理器并浏览到计算机上的任何文件,选择它,当我按“确定”按钮时,文件的路径存储在变量中,以便我可以使用对其进行处理。
我搜索了很多论坛,我设法打开了 Windows 资源管理器,但没有传统的“确定”和“取消”按钮。如果用户按“确定”按钮,文件的路径应存储在我的代码变量中。
在这方面的任何帮助将受到高度赞赏。
此外,只是为了让您知道我使用了以下代码:
导入操作系统
os.system(“开始。”)
但资源管理器窗口没有任何取消或确定按钮。请帮忙
这是因为在 Windows 中打开文件时看到的实际上并不是资源管理器窗口,而是称为通用对话框。我假设您指的是这个对话框:
有多种方法可以打开通用打开对话框,其中最简单的方法可能是使用 Python 标准库中的 Tkinter 模块,即 tkFileDialog 模块askopenfilename
.
示例代码:
import Tkinter
import tkFileDialog
root = Tkinter.Tk()
root.withdraw()
filename = tkFileDialog.askopenfilename(parent=root,title='Open file to encrypt')
至于花括号:您正在使用askopenfilenames
告诉 Tk 您可能需要多个文件名。这就是为什么您会得到一个用花括号括起来的文件名列表。我实际上怀疑 Python 的 Tk 绑定中存在疏忽,因此文件名不会被分割并返回一个列表,但这可以使用类似于以下的代码轻松修复:
import re
# ...
# ...
filenames = tkFileDialog.askopenfilenames(parent=root)
files_to_process = re.split("\}\W\{", filenames[1:-1])
如果用户选择多个文件,这将为您提供所选文件名的列表。当只传递一个文件名时它会中断,所以一定要检查这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)