[英]Why won't this python code open the file?
當我運行此代碼時,它會提示輸入文件名,並考慮是否輸入文件路徑或拖放,它將運行代碼'File cannot be opened'
的其余部分,但永遠不會運行fuse = open(fname)
或程序的其余部分。
這是完整的程序:
fname = raw_input('Enter file name: ')
try:
fuse = open(fname)
except:
print 'File cannot be opened'
raw_input('Press enter to quit')
count = 0
total = 0
for line in fuse:
if line.notstartswith('X-DSPAM-Confidence:'): continue
elif line.startswith('X-DSPAM-Confidence:'):
count = count + 1
vpos = line.find(' ')
addv = line[vpos:]
addv = float(addv)
total = total + addv
print total/count
關於什么可能是錯的任何想法?
當我不嘗試運行它並且從命令行中除外來查看錯誤時,這是我得到的消息:
輸入文件名:“ C:\\ Users \\ Gonzalez Cocoma \\ Documents \\ Python \\ Programs \\ mbox-short.txt”回溯(最近一次調用):文件“ C:\\ Users \\ Gonzalez Cocoma \\ Documents \\ Python \\ Programs \\ Spamaverage .py“,第2行,保險絲=打開(fname)IOError:[Errno 22]無效模式('r')或文件名:'” C:\\ Users \\ Gonzalez Cocoma \\ Documents \\ Python \\ Programs \\ mbox-short。文本”'
fname
不是有效的文件。
在提示下:
>>> import os
>>> fname = 'invalid-filename.txt'
>>> os.path.isfile(fname)
False
如果嘗試將其打開,則會出現異常:
>>> open(fname)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'invalid-filename.txt'
您可以捕獲異常,並打印其值:
>>> try:
... open(fname):
... except IOError as error:
... print e
[Errno 2] No such file or directory: 'invalid-filename.txt'
文件名無效的原因是您要加上引號。
錯誤消息顯示字符串'“ path / to / file.txt”'。 它應該顯示“ path / to / file.txt”:
IOError: [Errno 22] invalid mode ('r') or filename:
'"C:\Users\Gonzalez Cocoma\Documents\Python\Programs\mbox-short.txt"'
應該:
IOError: [Errno 22] invalid mode ('r') or filename:
'C:\Users\Gonzalez Cocoma\Documents\Python\Programs\mbox-short.txt'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.