Найти - Пользователи
Полная версия: Как в tkinter указать сразу все файлы для обработки?
Начало » GUI » Как в tkinter указать сразу все файлы для обработки?
1 2
Divergent
Как я понимаю можно только указать один файл. То есть если мне надо 10 файлов обрабатывать, то или грубо 10 кнопок через которые я укажу файлы или указал один - обработал…следующий - обработал(но хотелось бы поменьше действий)
Griffon
Что-то я ничего не понял. Можно более чётко суть вопроса? Какие файлы, как обрабатывать, чем обрабатывать, где указываете фалы, какие методы вызывает нажатие на кнопку?
И пример кода.
Divergent
Есть скрипт, который обрабатывает логи. Он будет в Function.

Так как файл лога не один (их 10), то вопрос какбы их засунуть в список файлов

ну что-то типа
listfname=
append.listfname(fname)
for file in listfilename:
print file

from Tkinter import *
from FileDialog import *

def Function(fname):
d = FileDialog(root)
fname = d.go()
print fname

root = Tk()
but = Button(root,text="File in")
but.pack()
but.bind("<Button-1>",Function)
root.mainloop()
Cover Story
Может как-то так?
import Tkinter
import tkFileDialog
root = Tkinter.Tk()
input_files = tkFileDialog.askopenfilenames()

for file in input_files:
print file
Tkinter.mainloop()
Divergent
Спасибо! Это уже намноооого лучше.
Хоть нормальное окошко выбора файлов :))

параметр поставил multiple=1 чтобы можно было несколько файлов выбрать.

Вот только список путей файлов указан через пробел и поэтому print file печаетает буковки…
C
:
/
T
e
m
p

теперь надо разобраться как их разделить.
Cover Story
Может дело в операционке? У меня все пути ровные
Divergent
Не думаю. Обычная винда XP
import Tkinter
import tkFileDialog
root = Tkinter.Tk()
input_files = tkFileDialog.askopenfilenames(multiple=1)
print input_files
#for file in input_files:
# print file
Tkinter.mainloop()
Вывод результата
>>>
C:/Temp/file_2.log C:/Temp/file_1.log
>>>

А у тебя по другому?
Cover Story
Конкретно результат вашего скрипта у меня выглядит вот так:

('C:/Python25/apsw-wininst.log', ‘C:/Python25/CherryPy-wininst.log’, ‘C:/Python25/clearsilver-0.10.4-py2.5-win32.egg’, ‘C:/Python25/dpkt-wininst.log’)
Divergent
Видимо версии питона разные :(
Griffon
Ну так если нет пробелов в именах файлов, то что мешает использовать .split(“ ”)? По крайней мере по “ C : / ” точно можно разбить безошибочно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB