程序化编辑Python源代码

12 投票
3 回答
2683 浏览
提问于 2025-04-10 23:52

我觉得这个想法非常有用。简单来说,我希望能有一种方法,可以在不需要人手干预的情况下,程序化地编辑Python源代码。关于这个,我有几个想法:

  1. 编辑那些使用源模块进行配置的Python应用的设置。

  2. 建立一个“模板”,这样我就可以随时自定义一个Python源文件。通过这种方式,我可以在我正在开发的开源应用上建立一个“项目”系统,并允许某些文件进行个性化修改。

我可能自己能写出这样的功能,但我知道这会引发很多“细节问题”。现在有没有现成的方法可以做到这一点,还是我只能硬着头皮自己去实现呢?

3 个回答

0

在Python中,大多数这类事情可以通过编程来判断,使用一些模块,比如sys、os,还有一个特别的标识符_file_,它可以告诉你在文件系统路径中的位置。

需要注意的是,当一个模块第一次被导入时,它会执行文件中的所有内容,这对开发依赖于系统的行为很重要。例如,os模块在导入时会判断你使用的是什么操作系统,然后根据不同的操作系统(比如Linux、OSX、Windows等)调整它的实现。

这个功能非常强大,可能正是你所需要的东西。:)

[编辑] 我在一些少见的情况下也使用过socket.gethostname()。;)

1

我之前也遇到过同样的问题,我只是打开文件,做了一些替换,然后在Python解释器中重新加载这个文件。这样做很简单,也能正常工作。

否则,按照我所知道的,你可能需要使用一些配置对象。

7

Python的标准库里有一些很不错的工具,可以帮助我们处理Python的源代码。你可以看看tokenize模块和parser模块。

撰写回答