(python) os.path.exists os.path.isfile ложь? - PullRequest
1 голос
/ 30 декабря 2010

os.path.exists дает мне неправильные ответы.

это не та проблема, которая обсуждалась по ссылке ниже, так как я в Windows.Существуют ли другие причины для его сбоя?

os.path.exists () лежит

Тест возвращается нормально, когда я проверяю его для файла в том же каталогепоскольку скрипт * .py выполняется, но ни один из его подкаталогов ..

-EDIT-

Я использую абсолютный путь.

Я смотрю на один из подкаталогов при запуске этого скрипта и могу буквально увидеть, как последнее измененное поле времени файла изменялось в проводнике Windows.
На моем компьютере больше ничего не происходит.Можно подумать, что изменит файлы, о которых идет речь.

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

Ответы [ 2 ]

2 голосов
/ 31 декабря 2010

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
1 голос
/ 31 декабря 2010

Оказалось, os.path.exists и os.path.isfile чувствительны к регистру ..

* * 1002 Мля! * * 1003
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...