看板 Python 關於我們 聯絡資訊
sys.stdin 是一個檔案物件,等同於 C 的 stdio.h 裡的 stdin 所以直接讀取 sys.stdin 就好囉 #!/usr/bin/python -t import sys while True: str = sys.stdin.readline() str = str[:-1] if len(str) > 0: print str else: sys.exit(0) 另外根據官方手冊, raw_input() 讀到EOF就會產生 EOFError 例外 所以會產生錯誤是正常的 ※ 引述《jameschen113 (大頭熊)》之銘言: : #!/usr/bin/env python : ###test.py : import sys : inpFile=open(sys.argv[1],'r') : line=inpFile.readline() : while line!="": : print line : line=inpFile.readline() : inpFile.close() : 使用方法: python test.py num.txt : ※ 引述《Xphenomenon (啦 )》之銘言: : : 在 c 裡面可以這樣寫 : : test.c : : #define : : int main(void) { : : int num; : : while(scanf("%d", &num) == 1) { : : printf("%d\n", num); : : } : : return 0; : : } : : num.txt 內容: : : 3 : : 3 : : 5 : : 6 : : 7 : : 8 : : gcc -o test test.c : : ./test < num.txt : : 請問如果在 Python 裡面我要怎麼寫才能達到如 C 的要求呢? : : 我試過如: : : test.py : : while True: : : a = raw_input() : : if(len(a) : : print a : : python test.py < num.txt : : 但會有以下錯誤: : : Traceback (most recent call last): : : File "test.py", line 2, in <module> : : a = raw_input() : : EOFError: EOF when reading a line : : 麻煩大大解答一下,感謝 :> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.206.149
Xphenomenon:感謝回答 :> 07/01 10:44