В настоящее время у меня есть цикл, который пытается найти неиспользуемое имя файла, добавляя суффиксы к строке имени файла. Как только он не может найти файл, он использует имя, которому не удалось открыть новый файл с этим именем. Проблема в том, что этот код используется на веб-сайте, и может быть несколько попыток сделать то же самое одновременно, поэтому существует условие гонки.
Как я могу сохранить python от перезаписи существующего файла, если он создан между временем проверки и временем открытия в другом потоке.
Я могу минимизировать вероятность, рандомизируя суффиксы, но вероятность уже сведена к минимуму на основе частей имени пути. Я хочу исключить этот шанс с помощью функции, которую можно сказать, создавайте этот файл ТОЛЬКО, если он не существует.
Я могу использовать для этого функции win32, но я хочу, чтобы это работало кроссплатформенно, потому что в конце концов оно будет размещено на Linux.