如果由于空格而失败,老实说这应该被认为是一个错误。
我发现在某些情况下,结果会是虚假的,这取决于文件服务器的状态。这种情况不会一直发生,只会偶尔发生一次。
我发现至少有 10 秒的延迟,我可以避免失败。在这种情况下,我会反复打开 zip 存档以访问特定的压缩文件。在尝试打开它之前,它会检查路径是否存在(由于这个奇怪的问题,请尝试在下面使用)。如果它失败了,那么它会在一个循环中等待,延迟会增加。我发现它通常会在 4 个循环(10 秒延迟)后再次发现文件存在。
这是我的循环打印语句的输出:
Archive r:\ballotimagearchive\ca_san_francisco_2020_pri\d03.zip does not exist according to os.path.exists().
Waiting 1 seconds
Waiting 2 seconds
Waiting 3 seconds
Waiting 4 seconds
After wait of 10 secs, r:\ballotimagearchive\ca_san_francisco_2020_pri\d03.zip now exists according to os.path.exists().
以及产生这个的代码段。
if os.path.isfile(source_path):
print(f"Verified that {source_path} exists.")
else:
print(f"Archive {source_path} does not exist according to os.path.exists().")
# this may be a spurious problem related to using a file server.
tot_time = 0
for i in range(1,20):
print(f"Waiting {i} seconds")
time.sleep(i)
tot_time += i
if os.path.isfile(source_path):
print(f"After wait of {tot_time} secs, {source_path} now exists according to os.path.exists().")
break
else:
print(f"After wait of {tot_time} secs, {source_path} still not found according to os.path.exists().")
sys.exit(1)