Jak mogę otworzyć wiele plików w tym samym czasie w języku programowania Pythona, aby uruchomić mój program?otwieranie wielu plików w Pythonie
mam około 15 plików, tylko teraz mam pracował z jednym z nich jak poniżej:
f=open("Exemplo_1.txt","rU")
Jak mogę otworzyć wiele plików w tym samym czasie w języku programowania Pythona, aby uruchomić mój program?otwieranie wielu plików w Pythonie
mam około 15 plików, tylko teraz mam pracował z jednym z nich jak poniżej:
f=open("Exemplo_1.txt","rU")
f1=open("Exemplo_1.txt","rU");
f2=open("Exemplo_2.txt","rU");
...
f15=open("Exemplo_15.txt","rU");
jesteś w zasadzie tworzenia obiektów plik, aby uzyskać dostęp do plików.
Jeśli nie trzeba ich otwierać równolegle, polecam używanie 'with (open (" Exemplo_1.txt "," rU ")) jako f1:' zamiast - słowo kluczowe with zmywa poprawnie w przypadku wyjątek. – thegrinner
Każda szansa, że moglibyśmy przekonać cię do usunięcia średników ;-) – mgilson
Używanie piętnastu osobnych nazw dla piętnastu otwartych plików wydaje się niepraktyczne .. chyba że każdy z nich jest traktowany inaczej, będą musieli być w czymś unikać wielu powielania kodu. Myślę, że lepiej jest umieścić je na liście lub dykcie. – DSM
zrobiłbym coś takiego:
try:
f = [open("Exemplo_%d.txt" % i, "rU") for i in range(1, 16)]
# do stuff
finally:
for fh in f:
fh.close()
Zobacz try/finally.
To działało dla mnie jak czar. Po prostu chcę zrozumieć składnię. % d i% i part ... –
Znalazłem to bardzo przydatne. Musiałem otworzyć 1000 plików i zapisać losową próbkę dużego zestawu danych. Duży zbiór danych jest o wiele za duży, aby zmieścić się w pamięci. – denson
jeśli trzeba pętli na wielu plikach na jeden strzał, użyć modułu fileinput
for x in fileinput.input(['patterns.in', 'logfile.txt']):
print x
można użyć kombinacji glob
i fileinput
import fileinput
from glob import glob
fnames = glob('Exemplo_*.txt')
for line in fileinput.input(fnames):
pass # do whatever
Jaki problem należy stoi z otwarciem wielokrotność pliki, jeśli możesz otworzyć jedną z nich? –