Вы будете привязаны к вводу / выводу, особенно в сети, поэтому любые изменения, которые вы можете внести в свой скрипт, приведут к очень минимальным ускорениям, но не в моей голове:
import os
input, output = open("in.txt"), open("out.txt", "w")
root = r'\\server\share'
for fid in input:
fid = fid.strip().rjust(8, "0")
dir = fid[:-3] # no need to re-pad
path = os.path.join(root, dir, fid + ".tif")
if not os.path.isfile(path):
output.write(fid + "\n")
Я не ожидаю, что это будет быстрее, но, возможно, его легче читать.
Другие подходы могут быть быстрее.Например, если вы ожидаете прикоснуться к большинству файлов, вы можете просто получить полный рекурсивный список каталогов с сервера, преобразовать его в Python set()
и проверить его на членство, а не попадать на сервер для множества небольших запросов.,Я оставлю код в качестве упражнения ...