FileContent
- строковый объект, содержащий одну строку вашего файла:
Out[4]: 'Linux RHEL64 35\n'
То, что вы хотите сделать с этой строкой, это strip
конечный тег \n
затем split
в отдельные слова. Только в этот момент вы можете выполнить назначение предмета, которое в настоящее время ведет к вашему ValueError
в вашем for
заявлении.
В питоне это означает:
ser, ver, up = line.strip().split() # line is what you called FileContent, I'm allergic to caps in variable names
Теперь обратите внимание, что это только одна строка, о которой мы говорим. Вероятно, вы хотите сделать это для всех строк в файле, верно?
Так что лучше всего перебирать строки:
myfile = "server_list"
with open(myfile, 'r') as fobj:
for row, line in enumerate(fobj):
ser, ver, up = line.strip().split()
# do stuff with row, ser, ver, up
Обратите внимание, что вам не нужно отслеживать row
самостоятельно, для этого можно использовать итератор enumerate
.
Также обратите внимание, и это крайне важно : оператор with
, который я здесь использовал, гарантирует, что вы не оставите файл открытым. Использование клаузулы with
при работе с файлами - хорошая привычка!