我正在编写一个小型的Python代码,用于合并文本文件,并且这些文件是通过用户输入选择的。但是很重要的是我需要获取用户选择的顺序,因为我想按照所选的顺序合并文件。但是我发现getOpenFileNames返回的列表没有保留选择的顺序。
有人有捕获选择顺序的建议吗?
谢谢。
我正在编写一个小型的Python代码,用于合并文本文件,并且这些文件是通过用户输入选择的。但是很重要的是我需要获取用户选择的顺序,因为我想按照所选的顺序合并文件。但是我发现getOpenFileNames返回的列表没有保留选择的顺序。
有人有捕获选择顺序的建议吗?
谢谢。
self.filename = QtGui.QFileDialog.getOpenFileNames(
self,
"Cargar tu documento",
self.lastOpenedFile,
"*.doc;*.odt;*.pdf" )
def callback(files):
joined_files = ''.join([open(f).read() for f in files])
do_something_with(joined_files)
dialog = QtGui.QFileDialog()
dialog.setFileMode(3) #allow selection of multiple files
dialog.filesSelected.connect(callback)
dialog.show()
这种方法的一个问题是没有以简单的方式向用户指示顺序 - “文件”文本框包含有序文件的名称,但是当您选择多个文件时,这会变得混乱。更好但略微复杂的方法是构建一个小部件或对话框,其中包含一个FileDialog用于选择文件和一个List / TableWidget来保存要处理的文件,用户可以逐个添加文件。这将允许更好的概述以及从多个目录轻松选择文件和更好的可扩展性(例如,过滤,重新排列,排序选择)。