Python-Ausgabe in eine Textdatei umleiten
Beim Versuch, die Druckausgabe mit Python in eine Textdatei umzuleiten, können bei entsprechender Auswahl Schwierigkeiten auftreten Methode führt nicht zu den gewünschten Ergebnissen.
Problembeschreibung
Der folgende Code Die Ausgabe kann mit sys.stdout nicht in eine Datei umgeleitet werden:
f = open('output.txt','w') sys.stdout = f path= '/home/xxx/nearline/bamfiles' bamfiles = glob.glob(path + '/*.bam') for bamfile in bamfiles: filename = bamfile.split('/')[-1] print 'Filename:', filename
Lösung
Erwägen Sie die Verwendung eines Dateiobjekts zum Drucken anstelle von sys.stdout:
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x
Alternative Lösungen
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
./script.py > out.txt
Zusätzlich Überlegungen
Das obige ist der detaillierte Inhalt vonWie leite ich die Python-Druckausgabe ordnungsgemäß in eine Textdatei um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!