2015-03-29 4 views
5

У меня есть эта часть кода для создания файла .json для хранения данных python. Когда я запустить его на моем сервере я получаю эту ошибку: кодIOError: [Errno 13] Permission denied

IOError: [Errno 13] Permission denied: 'juliodantas2015.json' at line with open(output_file, 'wb') as fp: 

Python:

fich_input='juliodantas2015.txt' 
output_file= fich_input.strip('.txt')+'.json' 
import json 
with open(output_file, 'wb') as fp: 
    json.dump('yes', fp) 

В командной строке я напечатал CHMOD 777 * .py, но до сих пор не работает. Как я могу это исправить ?

+1

Это не файл .py, на который он жалуется, это ваш json-файл. – cdarke

ответ

4
IOError: [Errno 13] Permission denied: 'juliodantas2015.json' 

расскажет вам все, что вам нужно знать: если вы успешно сделали свой питон исполняемой программы с вашим chmod, питон не может открыть этот juliodantas2015.json' файл для записи. У вас, вероятно, нет прав на создание новых файлов в папке, в которой вы сейчас находитесь.

+0

Спасибо, теперь я понимаю. Сделал chmod 777 в этой папке, и теперь он работает. –

+2

Это немного опасно, потому что теперь * каждый * может делать * независимо *, они хотят эту папку. Я рекомендую читать man-страницу chmod и немного разрешать файлы unix! –

+0

Как бы вы определили разрешения в этом случае? –

8

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

Проблема оказалась двукратной.

1: разрешения не были установлены правильно

2: Я пытался использовать
f = open(r"newfile.txt","w+") (Wrong)

После изменения файла 777 (все пользователи могут читать/писать)
chmod 777 /var/www/path/to/file
и изменение пути к абсолютному пути, моя проблема была решена
f = open(r"/var/www/path/to/file/newfile.txt","w+") (справа)

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