在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 /输出/ MyFolder中/”目录。
为什么会出现这样的错误? 为什么它不创造mytext.html文件?
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')
$MYUSER
指shell变量。 Python不解决这些。 使用os
包通过获取用户的主目录os.getenv('MYUSER')