2016-05-18 72 views
-2

無法工作不理解這個錯誤exists函數在Python

Traceback (most recent call last): 
    File "ex4.py", line 6, in <module> 
    print "does the file exsts %r" % exists(src_file) 
    File "C:\Python27\lib\genericpath.py", line 26, in exists 
    os.stat(path) 
TypeError: coercing to Unicode: need string or buffer, file found 

這是我的文件內容

from sys import argv 
from os.path import exists 
script,source,desti=argv 
src_file=open(source) 
data=src_file.read() 
print "does the file exists %r" % exists(src_file) 
dest_file=open(desti,'r+') 
dest_file.write(data) 
print dest_file.read() 

回答

3

os.path.exists()功能需要一個,包含一個文件名。你傳入了一個打開的文件對象(調用的結果爲open(source))。

你可以使用source代替,其中包含您的文件名:

print "does the file exists %r" % exists(source) 

既然你已經成功地從文件名中打開文件,則在測試文件存在但是小點。