2013-08-21 73 views
0

我有一個名爲conf.py的配置文件。當運行使用它的python程序時,我希望它能夠在文件中「看到」額外的文本,而不需要實際修改文件。如何使用python函數「添加」文本到文件

我打算做的是在文件末尾調用一個python函數,這樣當conf.py被另一個程序解析時,它會「看到」存儲在字符串中的文本,由此返回功能。

conf.py看起來有點像這樣:

option1 = [...] 
option2 = [...] 

myFuncion() 

其中myFunction是沿着線的東西:

def myFunction(): 
    f = open('MyFile.py', 'r') 
    string = str(f.readlines()) 
    f.close() 
    return string 

解析時,我想conf.py看起來像

option1 = [...] 
option2 = [...] 

option3 = [...] 
option4 = [...] 

其中後2個選項包含在MyFile.py中。

任何想法?

感謝

+0

「我想追加,實際上並沒有修改文件」是沒有意義的。不能在不更改文件的情況下添加到文件的末尾。 (另外,考慮使用真正的配置文件,而不是Python代碼;你的生活將會容易得多。) – geoffspear

+0

我想他是說他想要一個嵌入在文本文件末尾的Python腳本,所以當有人讀取文本文件時,另一個文件的內容顯示在最後。 – Brionius

+0

什麼是解析你的文件?一個完整的Python解釋器? – bennofs

回答

1

您可以通過導入MyFile.py做到這一點,關鍵是確保蟒蛇可以找到它。假設你有'/path/to/MyFile.py'。你可以這樣做

conf.py

import sys 
sys.path.insert(0, '/path/to/') 

option1 = 'abc' 
option2 = 'def' 

from MyFile import option3, option4 
+0

唯一的問題是,這個'MyFile.py'有很多不只是一些選項,這會使這樣做有點麻煩 – user1488804

+0

你也可以'從MyFile import *'執行。我不確定哪個最適合你。 – tdelaney

相關問題