以编程方式编辑Python源代码

11

我认为这个功能非常有用。基本上,我希望有一种方式可以在不需要人工干预的情况下编程地编辑Python源代码。我想要做几件事情:

  1. 编辑使用源模块进行配置的Python应用程序的配置。

  2. 设置一个“模板”,以便我可以即兴自定义Python源代码文件。这样,我就可以在我正在开发的某个开源应用程序上设置一个“项目”系统,并允许某些文件被自定义。

我可能可以自己编写能够实现此功能的程序,但是我意识到其中会有很多“魔鬼藏在细节中”的问题。目前是否有任何方法可以完成这项任务呢?还是说我必须咬咬牙自己去实现它呢?

3个回答

7
Python的标准库提供了相当不错的功能来处理Python源代码;请注意tokenizeparser模块。

1
如果可以避免的话,我宁愿不去处理AST树,所以我会把你的答案理解为“没有简单的方法来做到这一点”。 - Jason Baker
请参阅内置库ast - Kyle Carow

0

我曾经遇到过同样的问题,我只是打开了文件并进行了一些替换:然后在Python解释器中重新加载文件。这很有效且易于操作。

否则,据我所知,您必须使用一些配置对象。


0

大多数这类事情都可以在Python中使用sys、os等模块来编程确定,也可以使用特殊标示符_file_来确定你在文件系统路径中的位置。

需要注意的是,在首次导入模块时,它会执行文件作用域中的所有内容,这对于开发依赖于系统的行为非常重要。例如,os模块基本上会在导入时确定你正在使用哪个操作系统,然后相应地调整其实现(通过导入相应的Linux、OSX、Windows等模块)。

这个功能非常强大,这可能正是您想要的。 :)

[编辑]我还在一些罕见而又hackish的情况下使用socket.gethostname()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接