1. 程式人生 > >探索c++,Linux相關機制,java等,歡迎交流

探索c++,Linux相關機制,java等,歡迎交流

python作為一種指令碼語言,首先完成的工作是編寫指令碼。在平時編寫指令碼的過程中,我們注意到,時常需要與外界互動完成,比如人工手動輸入(如程式引數)、匯入外部檔案、定向輸入等。所以,這需要指令碼與外界有較好的輸入輸出互動。 python應對此類問題的模組有sys,StingIO等。 1. 手動輸入 這裡用到了sys模組的argv屬性,舉例: ========================= #! /usr/bin/env python # python script argvtest.py import sys usrargv = sys.argv print usrargv
========================= 執行指令碼 $ chmod +x argvtest.py./argvtest.py -a -b -c ['./argvtest.py', '-a', '-b', '-c'] 可以看到,sys.argv將返回一個列表,包括指令碼檔名和引數。這時,可以提取列表中的有效資訊,進行不同的功能實現。 raw_input( )函式同樣提供了一個簡單的輸入介面,以下是一個簡單的指令碼rawinputtest.py: =============================== while True:     a = raw_input('Enter your words: ')
    if a == 'stop':         break     print a ================================ 這個指令碼可以一直輸入,直到遇見'stop'。所以,可以輸入一個列表,之後獲取列表中的各個元素作為程式的執行引數。 2. 輸入檔案 python輸入檔案當然可以採用最直接的open( )函式讀如檔案,這裡提供另一個方法,從系統shell匯入檔案。使用sys模組的stdin屬性。舉例,先建立一個文字檔案sdintest: ============================ 'abc' ['hello', 'python'] {'python': 'script', 'R': 'function'} ============================ 建立輸入指令碼inoutput.py: ============================ import sys
a = sys.stdin.readline() b = sys.stdin.readline() print a, b ============================= 執行指令碼 $ python inoutput.py < sdintest 'abc' ['hello', 'python'] 注意:這種指令碼建立方法,不能將指令碼建立為可執行檔案(為什麼?)。
3. 定向輸出 兩種方法:1. 可以使用帶有write方法的物件,之後配合print。比如將sys.stdput作為一個開啟的可寫檔案,然後使用print依次輸入。同樣,這種方法可以被語句print >> myfile,  obj1, obj2代替。2. 當然,也可以使用shell的">"定向輸入檔案,比如: python inoutput.py < sdintest > sdouttest 將得到檔案定向輸入sdouttest檔案。