如果成功复制文件,我正在尝试让Python打印句子。在复制文件时,它会忽略打印。为什么是这样?这是我的代码的类似示例:
from shutil import copyfile
if copyfile('/Library/demo.xls','/Jobs/newdemo.xls'):
print "the file has copied"
供参考,我使用的是Python v2.7.1
答案 0 :(得分:9)
copyfile
不返回任何内容,但如果发生错误则会抛出异常。使用以下习语而不是if
检查:
import shutil
try:
shutil.copyfile('/Library/demo.xls','/Jobs/newdemo.xls')
except (Error, IOError):
# Handle error
pass
else:
# Handle success
print "the file has copied"
答案 1 :(得分:4)
那是因为shutil.copyfile
返回None
。您可能希望将其包装在try
/ except
子句中:
try:
shutil.copyfile(file1, file2)
print 'success!'
except shutil.Error:
print 'oh no!'
答案 2 :(得分:0)
copyfile不返回值(好吧,返回None)。