2011-09-16 12 views
5

में कमांड लाइन से किसी फ़ाइल में पढ़ना चाहता हूं, मैं कमांड लाइन पर पायथन से फ़ाइल में कैसे पढ़ूं? तो मान लें कि मेरे पास text.txt फ़ाइल है और मैं python prefixer.py text.txt करना चाहता हूं, मैं अपने prefixer.py में टेक्स्ट फ़ाइल में कैसे पढ़ूं?मैं पाइथन

उत्तर

12
import sys 

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

या, बेहतर,

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

पर बेहतर 'argparse'' मुझे sys पैकेज में यह खुला आदेश नहीं दिखाई देता है। क्या कोई मुझे इस पर दस्तावेज़ों को इंगित कर सकता है? * संपादित करें *: बस पाया गया _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

'argv' से आयात करने के लिए मत भूलना' sys' –

+1

आप और अधिक तर्क है, तो आप तर्क को पढ़ने के लिए OptParse उपयोग करना चाहिए। – martincho

+0

या पायथन 3.2+ – agf

3

मुझे लगता है कि fileinput इस के लिए एक बहुत अच्छा है। सरल स्क्रिप्ट के लिए उपयोग करने के लिए आसान:।

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

तो फिर तुम python myscript.py file.txt या यहाँ तक कि Purrfect में यह पाइप कर सकते हैं!

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

संबंधित मुद्दे