Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将基本变量列表写入文本文件_Python_List_File_File Writing - Fatal编程技术网

Python 将基本变量列表写入文本文件

Python 将基本变量列表写入文本文件,python,list,file,file-writing,Python,List,File,File Writing,我想编写一个文本文件,其中包含以下格式的行: result: variable1 +/- error1 result: variable2 +/- error2 等等。。。到目前为止,我已经: f = open('file_{a}.txt'.format(a=some_name), 'w') for i in range(len(variable)): f.write('result: ', variable[i], '+/-', error[i], '\n') 变量和错误是浮点数,

我想编写一个文本文件,其中包含以下格式的行:

result: variable1 +/- error1
result: variable2 +/- error2
等等。。。到目前为止,我已经:

f = open('file_{a}.txt'.format(a=some_name), 'w')
for i in range(len(variable)):
    f.write('result: ', variable[i], '+/-', error[i], '\n')
变量和错误是浮点数,而某些名称是字符串

但我有一个错误:

TypeError:应为字符串或其他字符缓冲区对象

我想我需要格式化
f。写
行的方式不同,但我不知道怎么写。该文件只需要人工读取,以便实际格式可以更改


谢谢

如果问题不是
变量[i]
错误[i]
的类型,请尝试以下操作:

f = open('file_{a}.txt'.format(a=some_name), 'w')
for i in range(len(variable)):
   f.write('result: {0} +/- {1}\n'.format(variable[i],error[i]))

如果问题不是
变量[i]
错误[i]
的类型,请尝试以下操作:

f = open('file_{a}.txt'.format(a=some_name), 'w')
for i in range(len(variable)):
   f.write('result: {0} +/- {1}\n'.format(variable[i],error[i]))
从:
f.write(字符串)

将字符串的内容写入文件,返回写入的字符数

因此,您不能将任何数量的
字符串
逗号
作为
参数
进行传递。这与
print()
的工作方式不同,它不包含任何数量的参数,并且
为您设置格式

这就是为什么会出现
错误

TypeError:应为字符串或其他字符缓冲区对象

如何修复它:

修复它非常容易,如果您确定
变量[i]
错误[i]
字符串,您可以:

格式
使用
。格式

f.write('result: {} +/- {}\n'.format(variable[i], error[i]))
或者将它们与
+
操作数串联:

f.write('result: ' + variable[i] + ' +/- ' + error[i] + '\n')
希望这有帮助

从:
f.write(字符串)

将字符串的内容写入文件,返回写入的字符数

因此,您不能将任何数量的
字符串
逗号
作为
参数
进行传递。这与
print()
的工作方式不同,它不包含任何数量的参数,并且
为您设置格式

这就是为什么会出现
错误

TypeError:应为字符串或其他字符缓冲区对象

如何修复它:

修复它非常容易,如果您确定
变量[i]
错误[i]
字符串,您可以:

格式
使用
。格式

f.write('result: {} +/- {}\n'.format(variable[i], error[i]))
或者将它们与
+
操作数串联:

f.write('result: ' + variable[i] + ' +/- ' + error[i] + '\n')

希望这有帮助

variable[i]
和/或
error[i]
可能是数字而不是字符串(这是
write
希望您给出的。请尝试
f.write('result:',str(variable[i]),'+/-',str error[i]),'\n')
你能提供更多关于变量的信息吗
变量
错误
一些名称
?似乎你没有提供字符串。举例说明
变量
错误
应该是什么
变量[i]
和/或
错误[i]
可能是数字而不是字符串(这是
write
希望您给出的内容。请尝试
f.write('result:',str(变量[i]),'+/-',str(错误[i]),'\n')
你能提供关于变量的更多信息吗
变量
错误
一些名称
?似乎你没有提供字符串。举个例子说明
变量
错误
将超出解决它的范围,使用该格式更简洁解决它,使用该格式更简洁