Меню

Fat32format ошибка процесс не может получить доступ к файлу

2 / 2 / 0

Регистрация: 24.05.2013

Сообщений: 135

1

22.12.2016, 12:58. Показов 11761. Ответов 5


Как отформатировать флешку 64 Гб в Fat32?
Стандартно в ПК можно только в exFat и NTFS
Программа quiformat не помогает. Пишет ошибку: Failed to open device
GetLastError()=32
Процес не может получить доступ к файлу, так как этот файл занят другим процессом.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



0 / 0 / 0

Регистрация: 18.08.2020

Сообщений: 1

18.08.2020, 09:15

2

Нужно через cmd запускать эту прогу.



0



526 / 1597 / 19

Регистрация: 01.10.2017

Сообщений: 1,255

21.08.2020, 20:51

3

Цитата
Сообщение от Zotac_Good
Посмотреть сообщение

Программа quiformat не помогает

Вы её от админа запускали?
Ещё можете попробовать HP USB Format Tool и USB Disk Storage Format Tool, они должны справится
А если это карта памяти, лучше воспользоваться SD Formatter



0



24 / 23 / 6

Регистрация: 09.12.2017

Сообщений: 431

23.01.2021, 09:58

4

Цитата
Сообщение от Code0N
Посмотреть сообщение

Вы её от админа запускали?

Не проходит.
Мне помогло следующее. Скопировал программу на рабочий стол, закрыл все окна проводника, запустил и проблем не было.



0



1681 / 965 / 96

Регистрация: 23.01.2017

Сообщений: 3,739

25.01.2021, 21:26

5

SD Formatter — да , для карточек.
HP USB Disk Storage Format Tool — нет! Для 64 Гб не подходит.
Не все устройства видят после нее.
Скажу более, желательно сохранять заводскую разметку в файл, когда потребуется вернуть обратно.
Современная флешка должна быть правильно форматирована.
Важно правильное смещение и выравнивание по границам блока.
Заводской формат обычно правильный.
Правильный формат уменьшает износ накопителя и влияет на скорость.
ExFat для флешек 64 Гб предпочтительнее.
Практически все современные устройства понимают его.



0



-34 / 27 / 12

Регистрация: 15.11.2018

Сообщений: 191

26.01.2021, 02:12

6

RUFUS 2.13 отформатировать Fat32 та выбор

у меня Стандартно в ПК можно только в Fat32 exFat. это небыло NTFS для флешки
RUFUS 2.13 получилось



0



Расположение недоступно, отказано в доступе при открытии флешки — как исправить

Нет доступа к USB накопителюЕсли при подключении любой флешки или внешнего жесткого диска по USB и попытке открыть его содержимое (в статье рассматривается именно такая ситуация, если это происходит с одним конкретным накопителем, дело может быть в другом) вы видите сообщение об ошибке «Расположение недоступно, нет доступа к диску, отказано в доступе», причиной в большинстве случаев причиной том служат политики безопасности Windows 10, 8.1 или Windows 7, ограничивающие доступ к флешкам и другим съемным USB накопителям: иногда это результат действий системного администратора (если речь идет об организации), иногда — собственных экспериментов с системой или даже работы вредоносного ПО.

В этой инструкции о том, что делать, если при попытке открыть флешку или другой накопитель в Windows вы видите сообщение о том, что вам отказано в доступе и расположение недоступно. Обязательное требование для того, чтобы вы могли выполнить шаги, приведенные далее — наличие прав администратора в системе, без них это выполнить не получится. Если вам, наоборот, требуется ограничить доступ к USB накопителям, об этом здесь: Как запретить использовать флешки и другие USB накопители в Windows.

Включение доступа к флешке и другим USB накопителям в редакторе локальной групповой политики

Нет доступа к флешке, расположение недоступно

Если на вашем компьютере установлена Windows 10, 8.1 или Windows 7 версий Профессиональная, Корпоративная или Максимальная, вы можете использовать способ исправления проблемы с помощью редактора локальной групповой политики. Для домашней редакции перейдите к следующему способу.

Шаги для того, чтобы исправить «Расположение недоступно» для USB накопителей будут следующими:

  1. Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc и нажмите Enter. Откроется редактор локальной групповой политики.
  2. Перейдите к разделу Конфигурация компьютера — Административные шаблоны — Система — Доступ к съемным запоминающим устройствам. Политики доступа к съемным запоминающим устройствам
  3. В правой части окна редактора посмотрите: есть ли какие-либо политики, в столбце «Состояние» которых указано «Включена».
  4. Если таковые присутствуют, дважды нажмите по ним и установите «Не задано» или «Отключено». Примените настройки. Разрешение доступа к USB в gpedit
  5. Повторите шаги 2-4 в аналогичном подразделе в «Конфигурация пользователя».

Как правило, перезагрузка после этих действий не требуется: изменения вступают в силу сразу, однако накопитель потребуется извлечь и снова подключить к компьютеру или ноутбуку после выполнения настроек.

Разблокировка доступа к съемным дискам с помощью редактора реестра

Если на вашем компьютере установлена домашняя редакция Windows, получить доступ к флешке можно, разблокировав её в редакторе реестра:

  1. Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
  2. В открывшемся редакторе реестра перейдите к разделу
    HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows
  3. Проверьте, присутствует ли в нем подраздел (папки слева) с именем RemovableStorageDevices. Если он есть, нажмите по нему правой кнопкой мыши и выберите пункт «Удалить». Разрешение доступа к USB в редакторе реестра
  4. Повторите шаги 2-3 в разделе
    HKEY_CURRENT_USERSOFTWAREPoliciesMicrosoftWindows

Перезагрузка после этих действий обычно не требуется, но флешку (или внешний жесткий диск) потребуется отключить, а затем снова подключить, чтобы получить к нему доступ.

В инструкции выше рассмотрен случай, когда причиной отсутствия доступа являются именно политики Windows. Если у вас иной случай, опишите в комментариях подробно: при каких условиях и действиях появляется сообщение и что именно, дословно, в нём указано, а я постараюсь подсказать, что делать.

У меня есть код, в котором я пишу в файл, и при следующем запуске кода после успешного выполнения кода я получаю следующую ошибку:

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process:’minicube_HE022222.fits’

Так что каждый раз мне приходится менять имя файла подгонки, и тогда ошибок нет. Просто очень неприятно менять имя файла каждый раз, когда я запускаю код. Вот мой фрагмент кода:

Я получаю сообщение об ошибке:

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

Вот еще одна часть кода, в которой возникает эта ошибка:

Ошибка возникает только в «xxx.writeto». Если есть другой способ записи в файл или обновления существующего файла новыми данными, сообщите мне. Спасибо

В общем, модель ввода-вывода Windows требует совместного доступа на чтение / выполнение, запись / добавление и удаление файлов, то есть все объекты File с доступом к данным должны взаимодействовать друг с другом. Сам Windows Python предоставляет доступ для чтения и записи, но не для удаления. Я не знаю, что делает fits или почему файл остается открытым после выхода из сценария, но вы захотите поискать вызовы CreateFile . В частности, ищите доступ, который они запрашивают (например, GENERIC_READ или DELETE ), и доступ, которым они делятся (например, FILE_SHARE_READ ).

Краткое мета-примечание: в StackOverflow вы можете форматировать блоки кода, делая отступ в каждой строке на четыре пробела. Обратные кавычки предназначены только для форматирования слов в парграфе как код like this . Я почистил для вас форматирование. См. stackoverflow.com/editing-help#code

Откуда берутся массивы mini_data и mini_error ?

Формы c голосовым вводом в React с помощью Speechly

Flatpickr: простой модуль календаря для вашего приложения на React

Что такое cURL в PHP? Встроенные функции и пример GET запроса

Ответы 1

Как отмечает этот комментарий, способ работы файлового ввода-вывода в Windows таков, что вы не можете перезаписать файл, если этот файл уже открыт в другом процессе. Вы пишете этот файл и открываете его в другой программе? Если у вас есть этот файл, открытый в любой другой программе, вы не сможете его перезаписать.

Вам нужно иметь возможность обновлять файл на месте, пока он открыт в другой программе? Если это так, это все еще возможно, но вы не можете использовать HDUList.writeto() , поскольку он эффективно удаляет существующий файл и заменяет его новым (вместо обновления существующего файла на месте).

Кроме того, как вы запускаете этот код? Это в сценарии? Вы упомянули, что каждый раз нужно менять имя файла, но вы можете создавать такие вещи, которые вам не нужно. Я заметил, что в вашем коде жестко запрограммировано имя файла, и это можно и нужно исправить, если вы хотите написать более универсальный сценарий. Например, вы можете принять имя файла в качестве аргумента командной строки. Вы также можете заставить сценарий добавлять номер к имени файла или что-то в этом роде, если файл уже существует.

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

Помимо одного небольшого использования:

new_hdu.close() в вашем примере на самом деле ничего не делает. Метод HDUList.close() имеет смысл только тогда, когда вы открываете существующий файл FITS с диска. Здесь вы создаете HDUList (структура данных, представляющая файл FITS) в памяти и вызываете высокоуровневый HDUList.writeto() , который открывает файл, записывает данные в памяти в этот файл и закрывает файл. Так что .close() в этом случае не работает. Я предполагаю, что, возможно, вы добавили его, чтобы попытаться решить свою проблему, но на самом деле это не актуально.

Да, я новичок в этом, поэтому я пытался как-то закрыть его с помощью hdu.close (), который, как вы сказали, не работает. В любом случае, я запускаю код в скрипте на Spyder. Такая же ошибка возникает, когда ничего, кроме Spyder, тоже не открыто. Я мог бы добавить что-нибудь к имени, но это просто продолжит создавать новые файлы, чего я пытаюсь избежать.

Как вы работаете в контексте Spyder? Я думаю, вам нужно обновить свой вопрос, добавив более подробную информацию и / или посмотреть, какие другие процессы обращаются к этим файлам (если, например, файл находится в каталоге, отслеживаемом Dropbox или Google Диском, или если он сканируется вирусом сканер, который тоже может вызвать это).

Все хорошо, исправил. Я просто передаю ошибку сейчас и работаю каждый раз. Спасибо.

Вот что я делаю. Сработает ли это? попробуйте: hdu.writeto (‘filename.fits’, overwrite = True) except PermissionError: pass

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

Возможно, вам поможет, если вы покажете больше своего кода. Понятно, что вы не опубликовали свой полный код.

Код, который я разместил выше, является примером. Я отправлю еще одну часть кода, где у меня возникает эта ошибка; проверьте обновление выше. Нужно ли мне публиковать полный код? Потому что все остальное работает. Это как раз то, где я пишу в файл, где возникает эта ошибка.

Вы уверены, что у вас нет антивирусного сканера, Dropbox или чего-то еще, имеющего доступ к файлам? Единственный ответ, который я могу вам дать, это то, что какой-то другой процесс в вашей системе обращается к этим файлам, когда вы пытаетесь писать в них.

Я также сталкивался с этой проблемой раньше с помощью программного обеспечения для автоматического резервного копирования (например, аварийного плана).

PermissionError: [WinError 32] Процесс не может получить доступ к файлу, потому что он используется другим процессом.

Просто чтобы подтвердить, Python — единственная программа, работающая на моем компьютере. Что вызывает эту проблему и как ее исправить?

Ваш процесс — это тот, у которого файл открыт (через im все еще существующий). Вам нужно сначала закрыть его, прежде чем удалять.

Я не знаю, поддерживает ли PIL with контексты, но если да:

Это обязательно удалит im (и закроет файл), прежде чем вы доберетесь до os.remove .

Если это не так, вы можете попробовать Pillow, поскольку разработка PIL практически мертва.

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process

Just to confirm, Python is the only program running on my computer. What is causing this problem and how do I fix it?

user avatar

5 Answers 5

Your process is the one that has the file open (via im still existing). You need to close it first before deleting it.

I don’t know if PIL supports with contexts, but if it did:

This will make sure to delete im (and close the file) before you get to os.remove .

If it doesn’t you might want to check out Pillow, since PIL development is pretty much dead.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Exit status 1 ошибка компиляции для платы arduino nano что делать
  • Fat file system ошибка windows 10