我有可定製的腳本,根據請求可以放棄3個不同的輸出文件。目前,我有:有條件地寫入不同的輸出文件
with open("option1", "w") as file1, open("option2", "w") as file2, open("option3", "w") as file3:
我運行到的是,如果不選擇該選項,仍然被創建的文件(因爲公開聲明的),它是想我避免這個問題。
天真什麼,我想我要的是沿着將被允許下面的線允許的語法:
with (if type1: open("option1", "w") as file1), (if type2: open("option2", "w") as file2), (if type3: open("option3", "w") as file3):
的3種不同類型和相應的選項不是相互排斥的,是很常見的想要更多超過1種文件類型。 type1,type2和type3變量是默認情況下設置爲False的布爾值,並且在命令行中獨立切換爲True。總的來說,我試圖有效地避免創建空文件,並且甚至可以對代碼進行相當劇烈的更改以實現它。
我試圖用這個做一些測試,但是它似乎只能寫入單個文件?另外,type1,type2和type3是不同的變量,默認爲False,在命令行中設置爲True,而不是設置爲指定值的單個變量。將更新問題以反映此更新的 – ded
@ded以允許寫入多個文件。爲了使用'type1','type2','type3'作爲不同的變量,只需要替換'if user_wants_typeN(type):...'with'if typeN:...' – J0HN
這很好,仍然有點侷限每個句柄都是單獨打開的,所以我必須爲每個3個句柄完成相同的「事情」。我會就此提出任何建議,但我會傾向於重新修改「某些東西」,以便將它分爲三種不同的類型。 – ded