无法在python中保存文件

时间:2013-11-03 21:49:54

标签: python file

尝试在python中保存文件:

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

收到此错误:

  

回溯(最近一次调用最后一次):文件“dl-pages.py”,第50行,in          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

我错过了什么?感谢..

2 个答案:

答案 0 :(得分: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
... 

答案 1 :(得分: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