Python os.path.isfile жалуется, что файл на подключенном сетевом диске не существует - PullRequest
0 голосов
/ 26 марта 2019

Папка, которая является общей в локальной сети, сопоставлена ​​с сетевым диском в Windows 10 (буква V:). Следующие строки Python проверяют, существует ли файл на подключенном сетевом диске:

import os
print(os.path.isfile("V:\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi"))

это возвращает false. То же самое происходит с любым файлом в папке. copyfile() из shutils также выдает ошибку, что файл не существует. Однако файл находится в папке. В чем здесь проблема?

После предложенных / связанных ответов я попробовал все следующее (V: - буква диска и DARAS-NAS название сетевого расположения):

print(os.path.isfile(r'\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'\\\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'\\\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'/DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))
print(os.path.isfile(r'//DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))

print(os.path.isfile(r"\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"\\\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"\\\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"/DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi"))
print(os.path.isfile(r"//DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi"))

print(os.path.isfile('\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile('\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile('\\\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile('\\\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile('\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile('/DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))
print(os.path.isfile('//DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))

print(os.path.isfile("\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile("\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi"))
print(os.path.isfile("\\\\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile("\\\\DARAS-NAS\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi"))
print(os.path.isfile("\DARAS-NAS\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile("/DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi"))
print(os.path.isfile("//DARAS-NAS/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi"))

##############

print(os.path.isfile(r'V:\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'V:\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'V:/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))

print(os.path.isfile(r"V:\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"V:\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi"))
print(os.path.isfile(r"V:/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi"))

print(os.path.isfile(r'V:\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'V:\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'V:/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))

print(os.path.isfile(r'V:\FORENSOR DTB Dataset processed\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'V:\\FORENSOR DTB Dataset processed\\pow_day_125236_07.5.avi'))
print(os.path.isfile(r'V:/FORENSOR DTB Dataset processed/pow_day_125236_07.5.avi'))

Это печатает:

False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False

1 Ответ

0 голосов
/ 26 марта 2019

может быть, эта работа:

def check(file):
    #try to open file
    try:
        open(file)
    except:
        #if file not exists return false becuse you cant open it
        return False
    else:
        #else return true
        True

просто назовите его, и файл будет путем к файлу и самому имени файла

...