tkFileDialog.askopenfilename Как указать другой диск? - PullRequest
0 голосов
/ 25 октября 2010

Я использую "tkFileDialog.askopenfilename", чтобы получить переменную имени файла. Я знаю, что могу установить опцию «initialdir», но не у всех, кто использует программу, будет целевой файл на том же диске. Например: файл может быть расположен на C :, D :, E: и т.д ... Я не вижу способа просмотреть доступные диски в открывшемся диалоговом окне. Я бы хотел, чтобы пользователь мог напечатать что-то вроде "/ h / cowsandstuff" и заставить его перейти в этот каталог, а не блокировать его. Я программирую в среде Linux, кстати. Аналогичная функция в Windows, которая мне нужна, - это опция «Мой компьютер» в выпадающем меню, в которой перечислены все доступные диски ...

Ответы [ 3 ]

2 голосов
/ 25 октября 2010

В Linux нет этих букв дисков C:, D: и т. Д. В Linux все файловые системы различных дисков монтируются в отдельные папки в одной древовидной структуре, поэтому у вас есть только одно дерево.

Большинство дистрибутивов используют / media для монтирования pendrive и т. Д., Но жесткие диски можно настроить для монтирования в любую папку.Так что в linux нет такой вещи, как «буква диска», ваш вопрос не применим.

1 голос
/ 27 октября 2010

Как nosklo sais, в Linux у вас нет букв дисков.Все являются путями.

Если файл может быть в любом пути, я ожидаю, что пользователь будет знать путь, но я рассмотрю следующие варианты:

  • По умолчанию длядомашний путь пользователя.Вы можете напрямую использовать ´ ~ ´, и tk преобразует его в домашнюю папку Linux или в путь пользователя Windows / Мои документы
  • Запомните последний путь, чтобы использовать его в будущем.
0 голосов
/ 27 октября 2010

Если вы просто указываете на «/», он содержит все подключенные устройства ...

...