在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文件?
答案 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')