2013-08-27 2 views
0

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

Однако при запуске скрипта на компьютере после установки с помощью setup.py,

Я получаю сообщение об ошибке при попытке создать каталог. Мне удалось обойти создание/чтение из файлов, сделав все мои

open('file.txt', 'r+') # into 
open('file.txt', 'r') 
# and same respectively for writes. 


# os.mkdir() is causing an IOError permissions denied. 

Но это все еще не позволяет мне создавать каталоги! С помощью разрешений IOError.

ПРИМЕЧАНИЕ: Я знаю, что вы можете писать/читать что-нибудь из некоторых специальных каналов, например /tmp, но я бы предпочел сделать это в яйце.

Я чувствую, что эта задача также обязательна, есть ли у кого-нибудь идеи?

+1

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

+1

Попробуйте запустить скрипт как администратор. – sashkello

+0

Я побежал как sudo, и это сработало, спасибо. Asad, что вы подразумеваете под файловой системой? Например, вы имеете в виду, что я на unix или windows или .. –

ответ

2

Данные приложения должны храниться либо в %APPDATA%, $XDG_CONFIG_HOME, либо в ~/.config, в зависимости от платформы. Создайте каталог для модуля в одном из этих мест. Или еще лучше, если приложение сообщит вам, где ваши данные должны быть расположены.

+0

А, это круто, никогда не знал об этом протоколе. Есть ли какой-нибудь веб-сайт, на котором я могу больше узнать о различных папках и их целях? –

+1

http://en.wikipedia.org/wiki/Special_folder http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html http://www.pathname.com/fhs/pub/fhs -2.3.html –

Смежные вопросы