我想使用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()不适用于隐藏文件夹的任何想法。
答案 0 :(得分:17)
问题不在于它是隐藏的,而是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')
...
>>>