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
  • Установка lxml, libxml2, libxslt в Windows 8.1
  • Windows: медленный запуск приложения
  • Ошибка авторизации кликов PyAutoGui
  • Python 2 и Python 3 - запуск командной строки
  • Неисправность установки SciPy на окнах
  • Как установить numpy 1.8 dev на Windows?
  • Какой пользователь выполняет скрипты python, как в Windows?
  •  
    Interesting Posts for Van-Lav

    Какое решение лучше подходит для социальной аутентификации Django?

    Как скопировать данные в файл csv?

    Оптимизация в Python – do's, don'ts и эмпирические правила

    Python словарь, который отображает строки в набор строк?

    Python, как писать в двоичный файл?

    Удалите дубликаты в списке, сохраняя при этом его порядок (Python)

    Python JSON: NameError: имя 'false' не определено

    Некоторые материалы NLP, связанные с грамматикой, помечением, вытеснением и смысловым смысловым смыслом в Python

    Как проверить, является ли объект экземпляром пользовательского класса нового стиля?

    Получить все контакты из gmail с помощью python

    Django получает количество фотографий в галерее рядом с названием галереи

    Python: .pop () на неупорядоченных множествах

    Применить функцию к столбцу в dataframe pandas, которая принимает два аргумента

    python & numpy: сумма массива

    python присваивает значения элементам списка в цикле

    Python - лучший язык программирования в мире.