2011-11-10 14 views

risposta

78

Sicuro. Supponendo di avere una stringa con il nome del file chiamato fname, quanto segue fa il trucco.

with open(fname, 'r') as fin: 
    print fin.read() 
+4

Si noti che questo aggiungerà una nuova riga extra alla fine della produzione. –

+6

Sia per la compatibilità con Python 3 che per evitare la riga finale finale, l'ultima riga dovrebbe probabilmente leggere: 'print (fin.read(), end =" ")'. Per sfruttare questa soluzione con Python 2, sarà necessario un prefisso 'from __future__ import print_function'. Ovviamente, le applicazioni Python 2 dovrebbero sempre utilizzare la funzione di Python 3 'print()', quindi non è un grosso problema. –

11
f = open('file.txt', 'r') 
print f.read() 
f.close() 

Da http://docs.python.org/tutorial/inputoutput.html

Per leggere il contenuto di un file, chiamate f.read (dimensione), in cui si legge una certa quantità di dati e li restituisce come una stringa. la dimensione è un argomento numerico facoltativo. Quando la dimensione è omessa o negativa, l'intero contenuto del file sarà letto e restituito; è il tuo problema se il file è due volte più grande della memoria della tua macchina. Altrimenti, alla maggior parte dei byte di dimensione vengono letti e restituiti. Se la fine del file è stata raggiunta, f.read() restituirà una stringa vuota ("").

30

Se si tratta di un file di grandi dimensioni e non si vuole consumare una tonnellata della memoria come potrebbe accadere con la soluzione di Ben, il codice aggiuntivo in

>>> import shutil 
>>> import sys 
>>> with open("test.txt", "r") as f: 
... shutil.copyfileobj(f, sys.stdout) 

funziona anche.

0

Puoi provare questo.

txt = <file_path> 
txt_opn = open(txt) 
print txt_opn.read() 

Questo vi darà l'output del file.

2

si può anche provare questo

print ''.join(file('example.txt'))

1

La mia versione abbreviata in python3

print(open('file.txt').read()) 
+0

Funziona perfettamente grazie – MDMoore313

Problemi correlati