在python中传递给Exists函数的参数

时间:2016-05-18 14:13:56

标签: python python-2.7

无法理解此错误

    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()

1 个答案:

答案 0 :(得分:3)

os.path.exists()函数采用包含文件名的字符串。您传入了打开文件对象open(source)调用的结果)。

您可以改为使用source,其中包含您的文件名:

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

由于您已经成功从文件名中打开文件,因此测试文件的存在是没有意义的。