Я создал эту программу поиска и замены. Но я хочу внести в него изменения, поэтому я могу выполнить поиск и заменить для несколько файлов одновременно. Теперь, есть ли способ, поэтому у меня есть возможность выбрать сразу несколько файлов из любой папки или каталога, которые я выбираю.выберите несколько файлов. python
Ниже приведен код, который помогает мне выбирать файлы с помощью диалогового окна с файлом, но дает ошибки. можете ли вы помочь мне исправить это? ПОЛНАЯ ошибка отслеживающей является:
Traceback <most recent call last>:
File "replace.py", line 24, in <module>
main()
File "replace.py", line 10, in main
file = tkFileDialog.askopenfiles(parent=root,mode='r',title='Choose a file')
File "d:\Python27\lib\lib-tk\tkFileDialog.py",line 163, in askopenfiles
ofiles.append(open(filename,mode))
IOError: [Errno 2] No such file or directory: u'E'
А вот код: Я, наконец, получил этот код, чтобы работать я изменил «файл» в «FileZ» и «» askopenfiles к askopenfilenames'. и я смог заменить слово в моем выбранном файле. единственное, что он не работает, когда я выбираю 2 файла. возможно, я должен добавить цикл, чтобы он работал для нескольких файлов. Но это была своего рода проб и ошибок, и я хочу знать, почему это сработало. Есть ли какая-нибудь книга или что-то, что поможет мне полностью понять этот диалог tkinter и файл? в любом случае, я изменил код ниже, чтобы показать рабочий код прямо сейчас:
#replace.py
import string
def main():
#import tkFileDialog
#import re
#ff = tkFileDialog.askopenfilenames()
#filez = re.findall('{(.*?)}', ff)
import Tkinter,tkFileDialog
root = Tkinter.Tk()
filez = tkFileDialog.askopenfilenames(parent=root,mode='r',title='Choose a file')
#filez = raw_input("which files do you want processed?")
f=open(filez,"r")
data=f.read()
w1=raw_input("what do you want to replace?")
w2= raw_input("what do you want to replace with?")
print data
data=data.replace(w1,w2)
print data
f=open(filez,"w")
f.write(data)
f.close()
main()
EDIT: Один из ответов ниже дал мне представление о диалоге файла окна и теперь я могу выбрать несколько файлов с помощью окна TkInter , но я не могу продолжать замену. он дает ошибки. Я опробовал различные способы использования диалогового окна файлов, а разные способы дают разные ошибки. Вместо того, чтобы удалять один из способов, я только что поставил знак хэша впереди, чтобы сделать его комментарием, поэтому вы, ребята, можете взглянуть и посмотреть, какой из них будет лучше.
Вы должны действительно опубликовать раздел кода, который дает вам ошибки с файломDialogBox. Кроме того, вы должны публиковать сами ошибки. И так как это технически будет другим вопросом, вы должны превратить это в новое сообщение – inspectorG4dget
, похоже, что вы пишете этот комментарий, в то время как я добавлял нужные детали. Я подумывал о создании нового сообщения, но потом я подумал, что люди будут понижать или блокировать этот вопрос, потому что это дубликат или что-то в этом роде. – faraz
Этот вопрос касался выбора нескольких файлов. Тогда ответ был «use tkFileDialog». Теперь у вас вопрос: «Как правильно получить результаты из tkFileDialog?». Реально, вы могли бы превратить его в другой пост, но у него есть шанс быть закрытым, потому что его не задают правильно, первые комментарии будут включать «посмотрели ли вы на документацию, что вы от нее не поняли?» – inspectorG4dget