У меня есть программа (написанная на Python3.6, преобразованная в .exe для Windows с использованием cx_Freeze), которая использует файл блокировки, чтобы указать, используется ли в данный момент логин пользователя, чтобы разрешить использование того же логина на нескольких компьютерах, избегая возможных повреждений базы данных
Файл создается сразу после подтверждения входа пользователя (и удаляется при выходе пользователя):
lockfile = os.path.join(user_dir, ".locked")
with open(lockfile, "w") as _:
os.utime(lockfile)
На моем компьютере с Windows7 Professional это работает нормально. Он также отлично работает на моей локальной тестовой машине Windows10.
Теперь у меня есть удаленный клиент, который пытается использовать программу. И, по-видимому, они постоянно получают сообщение об ошибке: [Errno 13] Permission denied: '<user_dir>\.locked'
. (Кажется, что их путь действителен, и у программы нет проблем , создающих user_dir или записывающих в него файл config.ini
, так что права на запись в каталог не должны быть проблемой.)
Могут ли некоторые версии Windows иметь проблемы с файлами, начинающимися с точки? Может ли помочь использование подчеркивания и т. Д. Вместо этого?
Клиент использует Windows10 (Enterprise) версии 1809 (сборка 17763.379).
(Отсюда трудно отлаживать, и, поскольку мне приходится перекомпилировать установщик после каждого изменения, было бы неплохо иметь идею, если это даже имеет смысл ... Любые другие мысли о потенциальных источниках проблемы приветствуются Тоже!)