Это потому, что то, что вы видите, когда открываете файлы в Windows, на самом деле не является окном Проводника, оно называется обычным диалогом. Я предполагаю, что вы ссылаетесь на этот диалог:
Существуют различные способы открытия общего открытого диалога, и наиболее простым, вероятно, является использование модуля Tkinter из стандартной библиотеки Python, а именно модуля askopenfilename
.
модуля tkFileDialog.
Пример кода:
import Tkinter
import tkFileDialog
root = Tkinter.Tk()
root.withdraw()
filename = tkFileDialog.askopenfilename(parent=root,title='Open file to encrypt')
Что касается фигурных скобок: вы используете askopenfilenames
, чтобы сообщить Tk, что вы, возможно, хотите иметь более одного имени файла. Вот почему вы получаете список имен файлов, заключенных в фигурные скобки. Я на самом деле подозреваю упущение в связывании Tk в Python, так что имена файлов не разделяются и список возвращается, но это легко исправить, используя код, подобный следующему:
import re
# ...
# ...
filenames = tkFileDialog.askopenfilenames(parent=root)
files_to_process = re.split("\}\W\{", filenames[1:-1])
Это даст вам список выбранных имен файлов на тот случай, если пользователь выберет более одного файла. Он сломается, когда передается только одно имя файла, поэтому обязательно проверьте этот случай.