Python-应为字符串而不是列表
运行下面的代码时,我收到一条错误消息,上面说“TypeError:expected str,bytes或os.PathLike object,not list” 我使用Spyder调试了上面的错误消息,但是我找不到错误。 有人能告诉我如何解决这个错误吗?代码如下所示 谢谢大家!Python-应为字符串而不是列表,python,Python,运行下面的代码时,我收到一条错误消息,上面说“TypeError:expected str,bytes或os.PathLike object,not list” 我使用Spyder调试了上面的错误消息,但是我找不到错误。 有人能告诉我如何解决这个错误吗?代码如下所示 谢谢大家! J1 = ['520A','520B'] J2 = ['560S','580A'] JOINTS = J1 + J2 FILES_IN = ['dynres-x-eqk.lst','dynres-y-eqk.lst'
J1 = ['520A','520B']
J2 = ['560S','580A']
JOINTS = J1 + J2
FILES_IN = ['dynres-x-eqk.lst','dynres-y-eqk.lst','dynres-z-eqk.lst']
FILE_OUT = ['_Accelerations.txt']
def joint_acc(joint, file_in):
output = []
with open(file_in, 'rt') as f_in:
for line in f_in:
if 'JOINT ACCELERATIONS' in line:
for line in f_in:
if line.startswith(joint):
while line.strip() != '':
output.append(line)
line = next(f_in)
break
return ''.join(output)
with open(FILE_OUT, 'wt') as f_out:
for Jt in JOINTS:
for filename in FILES_IN:
f_out.write(joint_acc(Jt, filename))
f_out.write('\n')
你做到了:
FILE_OUT = ['_Accelerations.txt']
然后:
所以这个打开的get列表会导致TypeError。尝试将文件\u OUT=['\u Accelerations.txt']替换为文件\u OUT='\u Accelerations.txt'您执行了以下操作:
FILE_OUT = ['_Accelerations.txt']
然后:
所以这个打开的get列表会导致TypeError。尝试将文件\u OUT=['\u Accelerations.txt']替换为文件\u OUT='\u Accelerations.txt'您的文件\u OUT变量是列表类型,但打开部分等待str、bytes或os.PathLike对象类型
您应该将FILE\u OUT变量转换为正确的类型
例如,字符串:
或者,您可以使用0索引访问列表的第一个元素。您的列表只有1个元素
像这样:
您的FILE_OUT变量是list类型,但open会等待str、bytes或os.PathLike对象类型
您应该将FILE\u OUT变量转换为正确的类型
例如,字符串:
或者,您可以使用0索引访问列表的第一个元素。您的列表只有1个元素
像这样:
欢迎来到堆栈溢出。不要忘记接受答案,如果答案回答了你的问题,请勾选答案旁边的复选标记。这样,你的问题就会停止,显示为未回答。也投票选出好答案。请注意,接受并向上投票答案是在堆栈溢出时表示感谢的方式当您从这里开始时,请阅读,了解并查看。欢迎来到堆栈溢出。不要忘记接受答案,如果答案回答了你的问题,请勾选答案旁边的复选标记。这样,你的问题就会停止,显示为未回答。也投票选出好答案。请注意,接受并向上投票答案是在堆栈溢出时表示感谢的方式当你从这里开始的时候,请拿着这本书,读一读,看看。非常感谢!非常感谢你!非常感谢你!非常感谢你!
FILE_OUT = "_Accelerations.txt"
with open(FILE_OUT[0], 'wt') as f_out: