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

alw*_*btc 4 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"
Run Code Online (Sandbox Code Playgroud)

我有读/写权限做"$ MYUSER/OUTPUT/myfolder /"目录.

为什么我会收到此错误?为什么不创建mytext.html文件?

Ned*_*der 10

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

f = open(os.path.expandvars(HTMLFILE), 'w')
Run Code Online (Sandbox Code Playgroud)

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


Pau*_*aul 5

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

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

并使用os.path.expandvars():

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