Как я могу сказать, заняты ли файл или папка, например, Средство поиска занято, копируя в него?

Если вы используете метод game_intro в другой части кода, было бы неплохо вернуть значение gamechoice:

def game_intro():
# ... the first part of your method
    pygame.display.update()
    clock.tick(15)
    return gamechoice


if __name__ == '__main__':
    choice = game_intro()
    if choice == 1: 
          # do stuff
    # ...  rest of the program
5
задан Michael Tsai 18 January 2009 в 16:59
поделиться

3 ответа

Это смотрит на меня как частично скопированные файлы, имеют тип файла "brok" и код создателя "MACS".

Я не полагаю, что Средство поиска отмечает всегда копии папок, что это находится в процессе создания. "grayed" представление строго ограничено процессом Средства поиска, который делает копирование. Можно проверить это при помощи Быстрого переключения между пользователями, в то время как папка копирует: как другой пользователь, скопированная папка имеет нормальное появление в Средстве поиска, и можно открыть его и смотреть как субфайлы, и папки появляются. Средство поиска, кажется, не показывает различий о папке через AppleScript также, и я не могу думать ни о каком другом способе получить ту информацию.

2
ответ дан 13 December 2019 в 19:37
поделиться

Этот метод мог бы быть небольшим kludgey, но я использовал его в подобных целях, и он может работать на Вас. Основная идея состоит в том, чтобы делать попытку открытия файла с монопольной блокировкой, проверить, чтобы видеть, было ли открытое успешно, и затем сразу закройте его снова. Так, это посмотрело бы что-то как:

char* pathToFile;
int result;

result = open(pathToFile, O_RDWR | O_NONBLOCK | O_EXLOCK);
if (result != -1)
{
    //The file is not busy
    close(result);
}
else
{
    //The file is busy
}

Я никогда не пробовал это файлом, скопированным Средством поиска, но оно действительно работает, когда файл открыт другим приложением в системе. Я не уверен, работает ли этот тот же метод при открытии его как только для чтения вместо чтения-записи так, чтобы мог бы быть другой глюк в зависимости от требований.

0
ответ дан 13 December 2019 в 19:37
поделиться

Я не знаю точный ответ, но... Ниже POSIX и Углеродного файла менеджер APIs там является другим слоем, который используется обоими. Это достаточно близко к VFS и использует все строчные имена. Вы видите те вызовы при трассировке вызовов FS с помощью команды "fs_usage", IIRC. Можно найти рабочую функцию в тех вызовах. К сожалению, они не хорошо документируются. Надежда, которая помогает.

0
ответ дан 13 December 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: