如题
while(scanf()!=EOF)çä½ç¨æ¯ï¼å½scanfè¿åEOFæ¶éåºå¾ªç¯è¯»åè¾å ¥çæä½ã
ä¹å°±æ¯å½éå°æ件ç»å°¾ï¼å¦æç¨ä½æ åè¾å ¥æ¶å°±æ¯å½å¨ç»ç«¯è¾å ¥äºEOFæ¶ç»ææä½ã
对äºæ¤ï¼python并没æç¸ååè½çç³»ç»å½æ°èæ¯éè¦ç±èªå·±å¤æã
while True:try:
s = raw_input()
except:
break
代ç 解æï¼
while True:
s = raw_input()
è¿ä¸ªå°±ç¸å½äºCçwhile(1)scanf();
ä¹å°±æ¯ä¸åç读è¾å ¥ï¼æ²¡æå¤æEOFçæ åµã
å¨pythonä¸ï¼æ æ³éè¿raw_input()çè¿åå¼å¤ææ¯å¦æEOFãpythonæ¯éè¿æåå¼å¸¸æ¥ç¥EOFçï¼äºæ¯ï¼éè¿try exceptçæ¹æ³ï¼å½åºç°exceptçæ¶åï¼å°±æ¯å°äºEOFï¼è¿æ¶éåºå¾ªç¯ï¼ä¹å°±æ¯
except:
break
è¿æ ·å°±è¾¾å°äºåCä¸åæ ·çææã
try: # try
s = raw_input() # 读取一行的输入
except: # 当遇到文件终结的时候会扔出 EOFError
print "EOF"
break # 跳出循环本回答被提问者采纳
a = raw_input()
if a != "":
break追问
while(scanf()!=EOF)是遇到文件结尾时结束循环,我要按键盘上的ctrl+z才能结束,而你给的Python代码是输入为空字符串时就结束循环,直接输入回车就结束了,而我按ctrl+z会出错,程序直接闪退,跟我要的效果不一样。。而且你这个代码也应该是 if a==""吧
追答我理解错scanf的意思了,我以为是接收键盘的输入。
循环文件?
for line in FH: # ?