使用场景:linux/unix磁盘文件系统实时使用情况动态收集:
每一台机器挂载的文件系统名字有可能都不相同,就算同一台机器不同时间段挂载的文件系统也会不同。我们需要动态收集文件系统名,将变量的值作为变量,定义为文件系统的名。
语法基础:
>>> for i in range(5):
... exec('var{} = {}'.format(i, i))
>>> print(var0, var1, var2, var3 ,var4)
0 1 2 3 4
>>> names = locals()
>>> for i in range(5):
... names['n' + str(i) ] = i
>>> print(n0, n1, n2, n3, n4)
0 1 2 3 4
使用案例:
#动态初始化所有文件系统的数组
for fs_name in fs:
fs_name_ = 'fs{}'.format(fs_name[0].replace('/','____'))
if fs_name_ not in fs_names:
fs_names.append(fs_name_)
#/: fs_ = [], /test: fs_test =[]
exec('{}=[]'.format(fs_name_),globals())
str_time = strftime( "%Y-%m-%d %H:%M:%S" ,localtime(time_to_sec))
globals()[fs_name_].append({"name": str_time, "value": [str_time, int(fs_name[1])]})
else:
str_time = strftime( "%Y-%m-%d %H:%M:%S" ,localtime(time_to_sec))
globals()[fs_name_].append({"name": str_time, "value": [str_time, int(fs_name[1])]})