我使用的命令行參數作爲用戶輸入...如何避免在python中覆蓋全局字典中的鍵?
from datetime import timedelta, datetime
import csv, argparse
from collections import defaultdict
parser = argparse.ArgumentParser()
parser.add_argument("-p", dest='prodfile', action="append", help="file names for prod")
args = parser.parse_args()
files_d={}
files_d[""]=[]
if args.testfile:
testfile = args.testfile
type_file="test"
files_d[type_file]=testfile
if args.prodfile:
prodfile = args.prodfile
type_file="prod"
files_d[type_file]=prodfile
print files_d
如何避免所有字典重寫[type_file]?
編輯的核心問題是如何積累是共享同一個密鑰(在這種情況下值的列表,type_file
是testfile
和prodfile
都需要在列表中累積的重複鍵。
這是非常不清楚。你擔心壓倒性的是什麼?您只需設置「測試」和「產品」鍵,並且不要覆蓋任何內容。 –
什麼是**所有**詞典?只有'files_d',不是嗎? –
您的程序產生「'AttributeError:'Namespace'對象沒有屬性'testfile''」。請複製粘貼我們可以運行的確切程序,並將您看到的輸出以及您期望看到的輸出包括在內。 –