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_Tuples - Fatal编程技术网

Python 当我在文件中写入元组时,我丢失了一些值,当我在控制台中打印它时,我得到了所有值

Python 当我在文件中写入元组时,我丢失了一些值,当我在控制台中打印它时,我得到了所有值,python,list,tuples,Python,List,Tuples,我有这个元组 tuple=[(1,0.1),(2,0.2)...(714,7,14)] etc 当我使用print(tuple)时,我在控制台中得到了我期望的结果 [(1,0.1),(2,0.2)...(100,1)] 当我尝试这个: for counter in range (0,100): file.write('{}'.format(tuple)) 我在已经打开的.txt文件中也得到了我所期望的 但当我尝试使用以下命令逐行打印元组时: for j in tuple: fi

我有这个元组

tuple=[(1,0.1),(2,0.2)...(714,7,14)] etc
当我使用print(tuple)时,我在控制台中得到了我期望的结果

[(1,0.1),(2,0.2)...(100,1)]
当我尝试这个:

for counter in range (0,100): 

 file.write('{}'.format(tuple))

我在已经打开的.txt文件中也得到了我所期望的

但当我尝试使用以下命令逐行打印元组时:

for j in tuple:

 file.write(' '.join(str(s) for s in j) + '\n')
它并没有写入所有元组,而是在元组末尾丢失了一些值。 这种方法也会发生同样的情况:

for counter in range (0,100):

 file.write('{}'.format(Result[counter])) 
我使用来自anaconda的python 3.7
我用spyder编写代码,您需要在循环结束时关闭文件,以确保输出缓冲区刷新到文件中

使用上下文管理器确保:

with open("filename", "w") as file:
    #any for loop that writes to the file

我认为您需要在写入数据之前对数据进行
pickle
处理,并在阅读后对数据进行
unpickle
处理。您的第一个代码不是将完整的元组打印100次吗?这是元组列表,而不是元组。在第一个
for
循环中,您的意思是说
file.write({}.format(tuple[counter]))
?完成循环后是否关闭文件?您需要这样做才能刷新最后一个缓冲区。