2011-09-16 20 views

Respuesta

12
import sys 

f = open(sys.argv[1],"r") 
contents = f.read() 
f.close() 
print contents 

o, mejor,

import sys 
with open(sys.argv[1], 'r') as f: 
    contents = f.read() 
print contents 
+0

No veo este comando abierto en el paquete sys. ¿Alguien puede señalarme los documentos sobre esto? * Editar *: Acabo de encontrar _http: //docs.python.org/2/library/functions.html#open_ – Dustin

0
import sys 

file_name = sys.argv[1] 
f = open(file_name) 
data = f.read() 
f.close() 
+1

No se olvide de importar '' argv' de sys' –

+1

Si usted tiene más argumentos, se debe utilizar optparse para leer argumentos. – martincho

+0

O el 'argparse' mejorado en Python 3.2+ – agf

3

creo fileinput es mucho más agradable para esto. Fácil de usar para las secuencias de comandos simples:

import fileinput 
for line in fileinput.input(): 
    process(line) 

A continuación, puede hacer python myscript.py file.txt o incluso tubería en Purrfect.!

https://docs.python.org/3/library/fileinput.html

Cuestiones relacionadas