Hi,
ich möchte in Python ein Dialog öffnen um ein textfile zu importieren.
Bisher habe ich eine Fest definierte Textdatei. import.txt
1 | def run(selfself):
|
2 |
|
3 | f = open('import.txt')
|
4 |
|
5 | file_names = []
|
6 | for file_name in f.readlines():
|
7 | file_name = file_name.strip()
|
8 | if ',' in file_name:
|
9 | for f in file_name.split(','):
|
10 | file_names.append(f)
|
11 | else:
|
12 | file_names.append(file_name)
|
13 | print (file_names)
|
Jetzt möchte ich das erweitern, indem ich ein Dialogfenster öffne und
die Datei die ich importieren möchte auswähle.
1 | def run(selfself):
|
2 |
|
3 |
|
4 | name = askopenfilename(filetypes =(("Text File", "*.txt"),("All Files","*.*")),
|
5 | title = "Choose a file."
|
6 | )
|
7 | print (name)
|
8 |
|
9 | with open(name,'r') as UseFile:
|
10 | print(UseFile.read())
|
11 | time.sleep(2)
|
12 |
|
13 |
|
14 |
|
15 | f = open(UseFile)
|
16 |
|
17 | file_names = []
|
18 | for file_name in f.readlines():
|
19 | file_name = file_name.strip()
|
20 | if ',' in file_name:
|
21 | for f in file_name.split(','):
|
22 | file_names.append(f)
|
23 | else:
|
24 | file_names.append(file_name)
|
25 | print (file_names)
|
26 |
|
27 | #weiterer Code zum verarbeiten des Files
|
Allerdings läuft das nicht so wie ich erwartet habe. Der Textinhalt wird
nicht in das eigentliche Script genommen.
Die Fehlermeldung:
1 | f = open(UseFile)
|
2 | TypeError: invalid file: <_io.TextIOWrapper name='D:/import.txt' mode='r' encoding='cp1252'>
|
Nur verstehe ich gerade nicht, was mir der Fehler sagen möchte!