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 回答