7

Pythonを使用して隠しフォルダに.txtファイルを作成して書き込みたいです。私はこのコードを使用しています:

file_name="hi.txt"
temp_path = '~/.myfolder/docs/' + file_name
file = open(temp_path, 'w')
file.write('editing the file')
file.close()
print 'Execution completed.'

~/.myfolder/docs/ は隠しフォルダーです。エラーが発生します:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    file = open(temp_path, 'w')
IOError: [Errno 2] No such file or directory: '~/.myfolder/docs/hi.txt'

非表示のフォルダーにファイルを保存すると、同じコードが機能します。

隠しフォルダに対して open() が機能しない理由。

4

1 に答える 1

19

問題は、それが隠されていることではなく、Python が~ホーム ディレクトリを表す使用法を解決できないことです。os.path.expanduser、_

>>> with open('~/.FDSA', 'w') as f:
...     f.write('hi')
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '~/.FDSA'
>>> 
>>> import os
>>> with open(os.path.expanduser('~/.FDSA'), 'w') as f:
...     f.write('hi')
... 
>>>
于 2013-07-04T01:56:34.193 に答える