os.path.exists给了我不正确的答案。
这是不是在下面的链接讨论同样的问题,因为我在Windows。 是否有其他原因导致失败?
os.path.exists()在于
当我在* .py脚本运行的同一目录下testing它时,testing返回ok,但是它的子目录都没有。
-编辑-
我正在使用绝对path。
我正在查看这个脚本运行的子目录之一,并可以从字面上看到在Windows资源pipe理器中更改文件的最后修改时间字段。
有没有其他的东西在我的电脑上,我可以想到,将修改有问题的文件。
def SaveIfNewer(doc, aiFile, pngFile): options = win32com.client.Dispatch('Illustrator.ExportOptionsPNG24') options.SetArtBoardClipping(True) if (os.path.exists(pngFile)): aiFileTime = os.stat(aiFile)[8] pngFileTime = os.stat(pngFile)[8] print("aiFileTime: ", aiFileTime, "pngFileTime: ", pngFileTime) if(aiFileTime > pngFileTime): os.remove(pngFile) if( not os.path.isfile(pngFile)): doc.Export(pngFile, constants.aiPNG24, options) print 'exporting:', pngFile else: print 'skipping file:', pngFile
原来,os.path.exists和os.path.isfile区分大小写。
胡说!
os.path.exists
和os.path.isfile
在Windows机器中不区分大小写。
这是我在Windows 7(Python 2.7)
>>> os.path.exists('C:/.rnd') True >>> os.path.exists('C:/.RND') True >>> os.path.isfile('C:/.rnd') True >>> os.path.isfile('C:/.RND') True