Python 使用sys模块将打印输出保存到文件,但块继续运行而不停止

Python 使用sys模块将打印输出保存到文件,但块继续运行而不停止,python,sys,Python,Sys,上面的脚本创建一个文件,并将后续打印输出保存到该文件中。该文件创建得很好,并具有所有所需的输出,但该块只是不停地运行。我很好奇,这可能是什么原因,以及如何纠正它。先谢谢你。更新:脚本正在创建一个循环,该循环似乎是递归的,我不知道为什么,但尝试使用break不起作用。代码对我来说是正确的。变量Signature_1、NameA、upA和downA包含什么?Signature_1=(input('Name.txt:'))只是文件名;upA=[x代表SigA中的x如果float(SigA[x])>0]

上面的脚本创建一个文件,并将后续打印输出保存到该文件中。该文件创建得很好,并具有所有所需的输出,但该块只是不停地运行。我很好奇,这可能是什么原因,以及如何纠正它。先谢谢你。更新:脚本正在创建一个循环,该循环似乎是递归的,我不知道为什么,但尝试使用break不起作用。

代码对我来说是正确的。变量Signature_1、NameA、upA和downA包含什么?Signature_1=(input('Name.txt:'))只是文件名;upA=[x代表SigA中的x如果float(SigA[x])>0]返回基于整数值的dict键,则该文件创建得很好,并具有所有所需的输出,但该块只是保持运行killing
sys。stdout
可能会使Python在之后无法使用。您需要在之后恢复原始的
sys.stdout
,或者只打开文件并显式地
X.write()
打印(file=X,…)
,而不更改
stdout
import sys
sys.stdout=open("summary2.txt","w+")
print('total genes',Signature_1, len(NameA))
print('up genes',Signature_1,len(upA))
print('down genes',Signature_1,len(downA))
sys.stdout.close()

Signature_1=(input('Name.txt:'))#name of .txt file
upA=[x for x in SigA if float(SigA[x]) > 0]#returns dict keys based on integers values