Aradım ve yalnızca tam tersi hakkında sorular bulabiliyorum: stdin'i bir dosyaya yazmak :)
Bir dosyanın içeriğini standart çıktıya dökmenin hızlı ve kolay bir yolu var mı?
Aradım ve yalnızca tam tersi hakkında sorular bulabiliyorum: stdin'i bir dosyaya yazmak :)
Bir dosyanın içeriğini standart çıktıya dökmenin hızlı ve kolay bir yolu var mı?
Yanıtlar:
Elbette. Dosyanın adı çağrılan bir dizeniz olduğunu varsayarsak fname, aşağıdaki hile yapar.
with open(fname, 'r') as fin:
print(fin.read())
print(fin.read(), end=""). Python 2 altında bu çözümü kullanmak için bir ön ek from __future__ import print_functiongerekecek. Tabii ki, Python 2 uygulamaları zaten her zaman Python 3 print()işlevini kullanmalıdır - bu yüzden bu bir yük değil.
f = open('file.txt', 'r')
print f.read()
f.close()
Gönderen http://docs.python.org/tutorial/inputoutput.html
Bir dosyanın içeriğini okumak için, bir miktar veriyi okuyan ve onu bir dizge olarak döndüren f.read (size) çağırın. boyut, isteğe bağlı bir sayısal bağımsız değişkendir. Boyut ihmal edildiğinde veya negatif olduğunda, dosyanın tüm içeriği okunur ve döndürülür; dosya makinenizin belleğinin iki katı büyüklüğünde ise bu sizin sorununuzdur. Aksi takdirde, en çok boyut baytları okunur ve döndürülür. Dosyanın sonuna ulaşılmışsa, f.read () boş bir dizge ("") döndürür.
Bunu pathlibmodül ile yapmanız gerekiyorsa pathlib.Path.open(), dosyayı açmak ve metni şuradan yazdırmak için kullanabilirsiniz read():
from pathlib import Path
fpath = Path("somefile.txt")
with fpath.open() as f:
print(f.read())
Veya sadece arayın pathlib.Path.read_text():
from pathlib import Path
fpath = Path("somefile.txt")
print(fpath.read_text())