Certifique-se de que o diretório /home/robin/.config/RedThat/
exista antes de tentar criar um arquivo nele.
def loadSubredditConfig (self):
self.builder.get_object ('cbxR').remove_all ()
path = os.path.join (xdg.BaseDirectory.xdg_config_home, 'RedThat', 'subreddits')
if (os.path.exists (path)):
file = open (path, 'r+')
for line in file.readLines ():
self.builder.get_object ('cbxR').append_text (line.strip ().replace (' ', ''))
else:
file = open (path, 'w') # Problem here
file.write ('')
self.builder.get_object ('cbxR').append_text ('')
Traceback (most recent call last):
File "bin/gtkreddit", line 33, in <module>
gtkreddit.main()
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit/__init__.py", line 33, in main
window = GtkredditWindow.GtkredditWindow()
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit_lib/Window.py", line 35, in __new__
new_object.finish_initializing(builder)
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit/GtkredditWindow.py", line 63, in finish_initializing
self.loadSubredditConfig ()
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit/GtkredditWindow.py", line 236, in loadSubredditConfig
file = open (path, 'w')
IOError: [Errno 2] No such file or directory: '/home/robin/.config/RedThat/subreddits'
Eu quero que o arquivo seja criado.
Tentei w
, a
, rw
, w+
, a+
. Todos lançam o mesmo erro.
Certifique-se de que o diretório /home/robin/.config/RedThat/
exista antes de tentar criar um arquivo nele.
Você precisa garantir que todos os diretórios pai existam, no caminho de onde você deseja criar um arquivo. Você pode usar os.makedirs
para realizar isso.
Você provavelmente também deve evitar usar xdg.BaseDirectory
, já que python-xdg
não é mais mantido upstream. Você pode usar dirspec.basedir
, que é o pacote python-dirspec
no Ubuntu.