【问题标题】:How to create file with open function in Python?如何在 Python 中使用 open 函数创建文件?
【发布时间】:2012-07-01 23:39:32
【问题描述】:

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

【问题讨论】:

    标签: python linux file


    【解决方案1】:

    $MYUSER 指的是一个 shell 变量。 Python 无法解决这些问题。使用os包通过os.getenv('MYUSER')获取用户主目录

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2021-06-26
          • 2022-11-04
          • 2015-01-08
          • 2023-03-25
          • 2011-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多