如何在Python中使用open函数创建文件?

时间:2012-07-01 00:39:48

标签: python linux file

在Linux环境中,我想创建一个文件并在其中写入文本:

HTMLFILE: "$MYUSER/OUTPUT/myfolder/mytext.html"
f = open(HTMLFILE, 'w')

IOError: [Errno 2] No such file or directory: "$MYUSER/OUTPUT/myfolder/mytext.html"

我有读/写权限“$ MYUSER / OUTPUT / myfolder /”目录。

为什么会出现此错误?为什么不创建mytext.html文件?

3 个答案:

答案 0 :(得分:10)

os.path.expandvars()可以提供帮助:

f = open(os.path.expandvars(HTMLFILE), 'w')

open仅处理实际文件名。 expandvars可以在字符串中扩展环境变量。

答案 1 :(得分:5)

有两种方法。使用os.environ()获取变量值

HTML_PATH = "/OUTPUT/myfolder/mytext.html"
f = open(os.environ('MYUSER') + HTMLFILE, 'w')

并使用os.path.expandvars():

HTMLFILE = "$MYUSER/OUTPUT/myfolder/mytext.html"
f = open(os.path.expandvars(HTMLFILE), 'w')

答案 2 :(得分:3)

$MYUSER指的是shell变量。 Python无法解决这些问题。使用os包通过os.getenv('MYUSER')

获取用户主目录