【问题标题】:Writing to current file [closed]写入当前文件[关闭]
【发布时间】:2013-03-29 15:23:44
【问题描述】:

我试图查看是否有任何方法可以写入正在执行代码的当前文件。

这是我写的代码:

with open(__file__, 'r+') as f:
    f.write('abc')

它不起作用。有什么方法可以使用 python 写入正在执行代码的文件?

【问题讨论】:

  • 您是否收到错误或更新的代码没有效果?你得到什么错误?
  • 您的代码也适用于我。
  • 当您写入当前模块文件时,您期望发生什么?在代码执行时,该模块已经被 Python 读取。 它不起作用不是正确的问题描述。
  • 没有错误。只是什么都没发生。
  • @xylon97:你是如何确认abc 没有出现在文件中的? 为什么您要写入当前模块源文件?除了写入该文件之外,您还想达到什么目的?

标签: python file file-io io


【解决方案1】:

尝试附加文件:

with open(__file__, 'a') as f:
f.write('abc')

【讨论】:

    【解决方案2】:

    我无法重现此内容。我的文件test.py,执行后是

    abch open(__file__, 'r+') as f:
        f.write('abc')
    

    这告诉我程序“按设计”运行。

    【讨论】:

    • 你在用什么?我正在使用崇高文本 2
    • Python 3.3.0 - 但这无关紧要。你究竟是如何运行你的程序的?
    • Ctrl + Enter 是我为运行代码设置的快捷方式,我使用的是 python 2.7.3。
    • 执行后您是否查看程序的源代码?如果在外部修改文件,您的编辑器可能不会自动刷新?
    • 是的,我运行后关闭并重新打开文件,仍然没有abc
    猜你喜欢
    • 2017-03-21
    • 2023-02-24
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2013-10-31
    • 2020-09-06
    相关资源
    最近更新 更多