Python:使用 2 个单独列表的值创建一个新变量

Python: create a new variable with the values of 2 separate lists

我每天 运行 对许多校园设备进行探测,并将每天的探测记录到一个名为:HOST-YYMMDD.txt 的文件中(例如 "Host1-Loc1-171219.txt" )

我正在尝试自动生成变量,这些变量将允许 xlsxwriter 'read' 用于我之后需要 运行 的循环的正确文件。

H1L1 = "Host1-Loc1"
H1L2 = "Host2-Loc2"

Dates = [171219,171220,171221]
Hosts = [H1L1,H1L2]

我正在尝试使用名称模式 "Probe[Date]"(例如 "Probe171219"、"Probe171220" 等)创建变量,这些变量(分别)等于日志文件 "Host1-Loc1-171219.txt" 和 "Host1-Loc1-171220.txt"

我已经能够打印出我需要为 Probe 变量获取的值,但我无法以自动方式将其分配给实际变量。

for item in Dates:
   print('FileLocation',Hosts[0],'-',item,'.txt',sep='')

这会打印:

FileLocation/Host1-Loc1-191219.txt
FileLocation/Host1-Loc1-191220.txt

问题是我如何将其分配给将被称为 "Probe171219" 和 "Probe171220" 的变量,从而给出结果:

Probe171219 = FileLocation/Host1-Loc1-191219.txt
Probe171220 = FileLocation/Host1-Loc1-191220.txt

到目前为止,我一直在手动填充我的变量,但每天有超过 50 个新日志,它不是很畅销。

正如 pault 提到的,您可以使用字典:

样本:

Dates = [171219,171220,171221]
Hosts = ["H1L1","H1L2"]
d = {}
for i in zip(Dates,Hosts):
    d["Probe{0}".format(i[0])] = "FileLocation/{0}.txt".format(i[1])

print d

结果:

{'Probe171219': 'FileLocation/H1L1.txt', 'Probe171220': 'FileLocation/H1L2.txt'}