【问题标题】:Python: When I try to run a code with (line +=) it gives a TypeerrorPython:当我尝试使用 (line +=) 运行代码时,它会给出 Typeerror
【发布时间】:2018-06-26 17:52:05
【问题描述】:

我对 python 还很陌生,所以到目前为止我尝试过的几乎所有事情都失败了。

每当我运行这段代码以尝试从序列中生成单个字符串时,

with open('C:/Users/Arda Turan/Desktop/sequence.txt') as file:
lines = []
for line in file:
    line+=(line.rstrip().split(","))

它给出了以下错误:

"C:\Users\Arda Turan\PycharmProjects\Untitled\venv\Scripts\python.exe" 
"C:/Users/Arda Turan/.PyCharmCE2018.1/config/scratches/scratch_1.py"
Traceback (most recent call last):
File "C:/Users/Arda Turan/.PyCharmCE2018.1/config/scratches/scratch_1.py", 
line 4, in <module>
line+=(line.rstrip().split(","))
TypeError: must be str, not list

Process finished with exit code 1

任何帮助将不胜感激。

【问题讨论】:

  • 是的:你的lines 是一个数组,试试lines.append(&lt;your string&gt;)
  • 请添加您的文件示例和所需的输出

标签: python-3.x command-line


【解决方案1】:

我想,你的意思是:

for line in file:
    lines.append(line.rstrip().split(","))

【讨论】:

    【解决方案2】:

    是的:你的行是一个数组,试试lines.append()

    您现在将“行”当作字符串使用,而您必须将其用作数组,因此请使用 lines.append() 而不是 +=

    如果你想做一个“更长”的字符串,用lines = ''更改行的声明并使用字符串连接+=,这样你就会有一个更长的字符串而不是一个字符串数组

    【讨论】:

      【解决方案3】:

      您需要使用list.append 将元素附加到列表中。请尝试以下操作:

      lines = []
      with open('C:/Users/Arda Turan/Desktop/sequence.txt') as file:
          for line in file:
              lines.append(line.rstrip().split(","))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-07
        • 1970-01-01
        • 2013-01-03
        • 2019-09-23
        • 2020-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多