我有一个两难的境地,文件名的中间位置会发生变化,但开头和结尾都会保持不变。我试图将最终结果存储在变量中,但我对如何执行此操作感到困惑。
ips=['10.240.10.5','10.232.10.5','10.200.10.5','10.200.10.6','10.232.10.6','10.240.10.6','10.200.10.7','10.200.10.7']
for i in ips:
sessionFile = 'sdee_sid_' . i[0] . '.data'
f = open(sessionFile, r)
subscription = f.read()
我收到sessionFile变量的错误......
File "closeallSDEEsession.py", line 8
sessionFile = "sdee_sid_" . i[0] . ".data"
^
答案 0 :(得分:6)
python中没有字符串连接运算符,只需使用+
:
'sdee_sid_' + i + '.data'
或printf-like string formatting:
'sdee_sid_%s.data' % i
'sdee_sid_{}.data'.format(i)
请注意,i[0]
是i
的第一个字符,可能不是您想要的字符。
答案 1 :(得分:3)
此:
sessionFile = 'sdee_sid_' . i[0] . '.data'
应该是:
sessionFile = 'sdee_sid_' + i[0] + '.data'
答案 2 :(得分:2)
更改
sessionFile = 'sdee_sid_' . i[0] . '.data'
到
sessionFile = 'sdee_sid_%s.data' % i[0]
我还认为您需要i
而不是i[0]
,因为后者是您要迭代的列表中当前字符串的第一个字符。