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 に答える