Я получаю ложноотрицательный для файла, который существует с os.path.exists.
path = '\\\\fgcz-biobeamer.uzh.ch\\Data2San\\p3061\\Proteomics\\TIMSTOF_1\\spfammatter_20200317\\3-17-2020_22-17-14_200ngHeLa_stdPASEF_100minGT__MSdataReduction_moderate_Rep1_520_1_Slot1-46.d\\stdPASEF_100minGT_MSdataReduction_moderate_520.m\\microTOFQImpacTemAcquisition.method'
os.path.exists(path) # returns false
len(path) # returns 260
Я немного погуглил и нашел:
В API Windows (с некоторыми исключениями, описанными в следующих параграфах), максимальная длина пути равна MAX_PATH, которая определена как 260 символов.
(https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file)
Существует ли другой python API, который может обрабатывать пути той длины, которую я мог бы использовать?
Некоторые windows инструменты не могут обрабатывать эти пути (хотя я создал этот файл с помощью robocopy, который является windows инструментом).
PS C:\Users\Admin> ls \\fgcz-biobeamer.uzh.ch\Data2San\p3061\Proteomics\TIMSTOF_1\spfammatter_20200317\3-17-2020_22-17-1
4_200ngHeLa_stdPASEF_100minGT__MSdataReduction_moderate_Rep1_520_1_Slot1-46.d\stdPASEF_100minGT_MSdataReduction_moderate
_520.m\
Directory: \\fgcz-biobeamer.uzh.ch\Data2San\p3061\Proteomics\TIMSTOF_1\spfammatter_20200317\3-17-2020_22-17-14_200n
gHeLa_stdPASEF_100minGT__MSdataReduction_moderate_Rep1_520_1_Slot1-46.d\stdPASEF_100minGT_MSdataReduction_moderate_
520.m
Mode LastWriteTime Length Name
---- ------------- ------ ----
------ 3/18/2020 12:45 AM 156 desktop.ini
------ 3/17/2020 10:17 PM 14301 hystar.method
------ 3/18/2020 12:45 AM 0 lock.file
------ 3/18/2020 12:45 AM 129055 microTOFQImpacTemAcquisition.method
, но
PS C:\Users\Admin> ls \\fgcz-biobeamer.uzh.ch\Data2San\p3061\Proteomics\TIMSTOF_1\spfammatter_20200317\3-17-2020_22-17-1
4_200ngHeLa_stdPASEF_100minGT__MSdataReduction_moderate_Rep1_520_1_Slot1-46.d\stdPASEF_100minGT_MSdataReduction_moderate
_520.m\microTOFQImpacTemAcquisition.method
ls : Cannot find path '\\fgcz-biobeamer.uzh.ch\Data2San\p3061\Proteomics\TIMSTOF_1\spfammatter_20200317\3-17-2020_22-17
-14_200ngHeLa_stdPASEF_100minGT__MSdataReduction_moderate_Rep1_520_1_Slot1-46.d\stdPASEF_100minGT_MSdataReduction_moder
ate_520.m\microTOFQImpacTemAcquisition.method' because it does not exist.
At line:1 char:1
+ ls \\fgcz-biobeamer.uzh.ch\Data2San\p3061\Proteomics\TIMSTOF_1\spfamm ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (\\fgcz-biobeame...uisition.method:String) [Get-ChildItem], ItemNotFound
Exception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
Я использую Python 3.7.7 64bit
>>> import sys
>>> sys.maxsize > 2**32
True