Python mkdir дает мне неправильные разрешения

Я пытаюсь создать папку и создать в ней файл.

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

Когда я пытаюсь создать файл, я получаю IOError.

Error: <type 'exceptions.IOError'> 

Я попытался создать (и искать) описание всех других режимов (кроме 0770).

Может ли кто-нибудь дать мне свет? Каковы другие коды режимов?

4 Solutions collect form web for “Python mkdir дает мне неправильные разрешения”

После создания папки вы можете установить разрешения с помощью os.chmod

Мод написан на базе 8, если вы преобразуете его в двоичный код, это будет

 000 111 111 000 rwx rwx rwx 

Первый rwx для владельца, второй для группы, а третий для мира

г = читать, ш = писать, х = выполнить

Разрешения, которые вы видите чаще всего,
7 read / write / execute – вам нужно выполнить для каталогов, чтобы увидеть содержимое
6 чтение / запись
4 раз

Когда вы используете os.chmod имеет смысл использовать восьмеричную нотацию, поэтому

 os.chmod('myfile',0o666) # read/write by everyone os.chmod('myfile',0o644) # read/write by me, readable for everone else 

Помните, я сказал, что вы обычно хотите, чтобы каталоги были «исполняемыми», чтобы вы могли видеть содержимое.

 os.chmod('mydir',0o777) # read/write by everyone os.chmod('mydir',0o755) # read/write by me, readable for everone else 

Примечание. Синтаксис 0o777 для Python 2.6 и 3+. в противном случае для 2-й серии это 0777 . 2.6 допускает синтаксис, так что тот, который вы выберете, будет зависеть от того, хотите ли вы быть совместимым по прямому или обратному.

У вас, вероятно, есть напуганная umask. Попробуйте os.umask(0002) прежде чем создавать каталог.

В руководстве Python говорится:

 os.mkdir(path[, mode]) 

Создайте каталог с именем path с режимом числового режима. Режим по умолчанию – 0777 (восьмеричный). В некоторых системах режим игнорируется. Когда он используется, текущее значение umask сначала маскируется. Доступность: Unix, Windows.

Вы указали режим – какой режим вы указали. Считаете ли вы явно заданный режим? И каково значение umask программы, установленное в "

Так как вы в Windows, это может быть crapshoot. Убедитесь, что в родительском каталоге нет каких-либо сумасшедших специальных разрешений или с параметрами политики, которые определяют разрешения для любых каталогов, созданных вашей учетной записью. Я сомневаюсь, что это проблема с python, поскольку я не смог воссоздать проблему в Windows с относительно установленной версией Vista.

  • Обработка \ r \ n vs \ n новых строк в python на Mac и Windows
  • Как установить leptonica + tesseract на Windows без Visual Studio для использования в Anaconda?
  • Отправка ^ C в объекты подпроцесса Python в Windows
  • Python Убейте предложение
  • Python и vim на окнах?
  • Python скриншот 2+ мониторы (окна)
  • Программа Python работает в IDLE, но не в командной строке
  • доступ на доступ к папке запрещен в Windows
  • Активируйте виртуальную среду и запустите jupyter notebook в пакетном файле
  • сбой компиляции при запуске anano - windows 8.1 64 бит с дистрибутивом Anaconda python
  • Создание точки соединения NTFS в Python
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.