0

尝试在 python 中保存文件:

g = open('~/ccna_pages/'+filename, 'w')
g.write(page)
g.close()

得到这个错误:

回溯(最后一次调用):文件“dl-pages.py”,第 50 行,在 g = open('~/ccna_pages/'+filename, 'w') IOError: [Errno 2] 没有这样的文件或目录: '~/ccna_pages/1.0.1.1.html'

但是,该目录确实存在于该位置。

这种语法似乎是 python 文档推荐的.. http://docs.python.org/release/1.5/tut/node46.html

我错过了什么?谢谢..

4

2 回答 2

6

Python 不会~为您扩展,您需要手动完成。

例子:

>>> with open('~/test', 'w') as f:
...     pass
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '~/test'
>>> with open('/home/mihai/test', 'w') as f:
...     pass
... 
于 2013-11-03T21:51:02.820 回答
2

os.path模块充满了好东西,包括expanduser

import os

filename = 'whatever.txt'
dir = '~/ccna_pages/'

if dir.startswith('~'):
    dir = os.path.expanduser(dir)

path = os.path.join(dir, filename)
print(path)  # /home/some1/ccna_pages/whatever.txt
于 2013-11-03T22:34:41.557 回答