【问题标题】:What is the alternative for open in python 2.4.3在 python 2.4.3 中打开的替代方法是什么
【发布时间】:2026-02-09 16:10:02
【问题描述】:

当我在 python 2.4.3 中使用open() 时,我收到以下错误

File "/tmp/chgjdbcconfig.py", line 16 with open("text.new", "wt") as fout: ^ SyntaxError: invalid syntax

我检查了python版本,这是我的输出

Python 2.4.3

我正在寻找有关替代方案的建议。我正在尝试在 linux 服务器上编辑 XML 文件中的行,但我无法控制 python 版本的升级。

任何建议都会很棒!

【问题讨论】:

  • t 标志是什么......我从来没有见过......啊,谷歌告诉我它的ascii only mode,但我虽然只是在没有b 标志的情况下打开它,但对于纯 ascii 模式来说已经足够了
  • @JoranBeasley Beasley 我关注的是链接replace-string-within-file-contents。我的目标是让它尽可能简单。我想执行文件例程的更改内容,但我不知道with 问题...

标签: python linux


【解决方案1】:

open 在 2.4 中没有丢失。缺少的是with 声明(added in Python 2.5 as PEP-0343)

不用with做同样的代码:

fout = open("text.new", "wt")
# code working with fout file
fout.close()

注意fout.close()在使用with时是隐含的,但你需要自己添加而不


with 语句具有关闭文件的额外好处即使引发了异常, 所以更精确的类比实际上是:

fout = open("text.new", "wt")
try:
    # code working with fout file
finally:
    fout.close()

【讨论】:

  • 请注意,这并不完全等同。当您使用with 时,即使出现异常,您的文件也保证会关闭。
  • 非常正确。我会继续编辑以使用try..finally
  • 感谢大家的帮助!
【解决方案2】:

这不是open() 它令人窒息。它是with 语法。 Python 2.4 中不存在上下文管理器。

您还必须明确关闭该文件。

【讨论】:

  • 谢谢!上面的那个更详细!
最近更新 更多