-2

我有一个难题,文件名的中间会改变,但开头和结尾将保持不变。我试图将最终结果存储在一个变量中,但我对如何做到这一点感到困惑。

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"
                                             ^
4

3 回答 3

6

python中没有字符串连接运算符,只需使用+

'sdee_sid_' + i + '.data'

类似 printf 的字符串格式

'sdee_sid_%s.data' % i

新型字符串格式

'sdee_sid_{}.data'.format(i)

请注意,这i[0]是 的第一个字符i,可能不是您想要的。

于 2013-04-18T15:02:50.600 回答
3

这个:

sessionFile = 'sdee_sid_' . i[0] . '.data'

应该:

sessionFile = 'sdee_sid_' + i[0] + '.data'
于 2013-04-18T15:02:43.963 回答
2

改变

sessionFile = 'sdee_sid_' . i[0] . '.data'

sessionFile = 'sdee_sid_%s.data' % i[0]

我也认为你想要i而不是i[0]因为后者是你正在迭代的列表中当前字符串的第一个字符。

于 2013-04-18T15:03:05.767 回答