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

如何在Python中使用open函数创建文件?,python,linux,file,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.ht

在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文件?

$MYUSER
引用shell变量。Python无法解决这些问题。使用
os
包通过
os.getenv('MYUSER')
os.path.expandvars()获取用户的主目录可以帮助:

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

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

有两种方法。使用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')