Форум сайта python.su
0
Как сделать чтобы код работал и на python 2 и на 3?
Python 2:
from tkFileDialog import askdirectory
dir_path=askdirectory()
Python 3:
from tkinter.filedialog import askdirectory
dir_path=askdirectory()
Чтобы работало и там и там приходится комментировать/раскоментировать строку подключения, это не удобно, как сделать чтобы и там и там все работало и вызывалось окно выбора директории?
Офлайн
13
try: from tkFileDialog import askdirectory # py2 except ImportError: from tkinter.filedialog import askdirectory dir_path = askdirectory()
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
294
можно через тру-ексепт, а можно помотреть версию пайтона из самого скрипта,
import sys print(sys.version_info.major) import platform print(platform.python_version()) >>> 3 3.2.5 >>>
if py_version < 3 : #пишем код для второго else: # пишем код для третьего
[code python][/code]
Офлайн
0
try/except или if/else в любом случае не работает, он ругается на строку с неправильным подключением, так как не знает что такое tkinter или tkFileDialog в зависимости от версии
Офлайн
294
olesyakolesovaскуяли ему не работать? неоднократно так делал, все работает как часы при условии что нужные модули установлены.
try/except или if/else в любом случае не работает, он ругается на строку с неправильным подключением, так как не знает что такое tkinter или tkFileDialog в зависимости от версии
import sys if sys.version_info.major < 3 : from tkFileDialog import askdirectory else: from tkinter.filedialog import askdirectory dir_path = askdirectory()
[code python][/code]
Офлайн
0
Что бы новую тему не создавать подскажите:
я вызываю окно выбора папки из консоли, после выбора папки остается открытое пустое окошечко tk как его убрать?
и как сделать что бы по умолчанию в выборе открывался не текущая директория а нужная мне?
Отредактировано seregka174 (Фев. 19, 2019 12:15:15)
Офлайн
294
seregka174у tk есть особенность, там всегда должно быть root окно(инстанс Tk()), когда вы вызываете filedialog, оно само создает root если такового нет, по другому оно не умеет.
я вызываю окно выбора папки из консоли, после выбора папки остается открытое пустое окошечко tk как его убрать?
[code python][/code]
Офлайн
0
как сделать что бы по умолчанию в выборе открывался не текущая директория а нужная мне?
Офлайн
294
seregka174указать ее(нужную юиректорию) передав аргуметом
как сделать что бы по умолчанию в выборе открывался не текущая директория а нужная мне?
... answer = askdirectory(initialdir = "c:") ...
[code python][/code]
Отредактировано PEHDOM (Фев. 20, 2019 09:45:02)
Офлайн