我想使用f.write
我不知道它是一個最好的辦法,但我看到了一些例子。在這裏,我想要做的,我有一個文件,其中包含以下幾行。Python使用變量在f.write
parallel (
{
ignore(FAILURE) {
build("Deploy", BUILDFILE: "/path/to/build.xml", WARFILE: "http://www.example.com/repo/file.war", STUDY: "EXAMPLE", BUG: "007")
}},
在上述文件中可以看到BUILDFILE
,WARFILE
,STUDY
和BUG
領域。我想用腳本代替手動編輯來編輯它們。我沒有站在如何在f.write()函數中使用變量。下面我試圖做
BF = raw_input("Enter BUILDFILE name:")
WF = raw_input("Enter WARFILE name:")
STUDY = raw_input("Enter STUDY name:")
BUG = raw_input("Enter BUG name:")
f = open("myfile", "w")
data = """parallel (
{
ignore(FAILURE) {
build("Deploy", BUILDFILE: "BF", WARFILE: "WF", STUDY: "STUDY", BUG: "BUG")
}},
f.write(data)
f.close()
當我運行此代碼它把我的輸入,並把這些規定的領域,但一些如何它不工作..我不知道如何使用f.write來把我的變量放在這些領域。如果有另一種方式,請讓我知道..
編輯
我已經修改腳本作爲每用戶建議,但仍然得到錯誤,我失去了一些東西???
#!/usr/bin/python
import sys
BF = raw_input("Enter BUILDFILE name:")
WF = raw_input("Enter WARFILE name:")
STUDY = raw_input("Enter STUDY name:")
BUG = raw_input("Enter BUG name:")
f = open("myfile", "w")
data = """parallel (
{
ignore(FAILURE) {
build("Deploy", BUILDFILE: "{BF}", WARFILE: "{WF}", STUDY: "{STUDY}", BUG: "{BUG}")
}},""".format(**locals())
f.write(data)
f.close()
以下錯誤我得到
Traceback (most recent call last):
File "./sched.py", line 18, in <module>
}},""".format(**locals())
KeyError: '\nignore(FAILURE) {\n build("Deploy", BUILDFILE'
我猜你缺少收盤'「」「上面的' –
你需要加倍'{'逃脫他們 – MartinStettner