1
 #attempt to print the contents individually-FAILED
 cut=(
 ('total genes',Signature_1, str(len(NameA))),
 ('up genes',Signature_1, str(len(upA))))
 for i in cut:
     print(i)

 #actual output=('total genes', 'V.txt', '3725')
 #desired output=total genes V.txt 3725
 
 #example of multiple print commands I would like to execute and write to a file
 print('down genes',Signature_1,len(downA)),
 print('total genes',Signature_2, len(NameB)),
 print('up genes',Signature_2,len(upB)),

尝试将多个打印语句组合在一个变量下并执行一个 for 循环以打印该变量中的每一行。最终,我这样做是为了将输出写入 .txt 文件。sys.stdout 确实执行了所需的功能,但该块就像一个递归循环并且永远不会终止,寻找替代方案。到目前为止,我唯一的想法是将每个文本分组在一个变量下并执行一个 for 循环(这已经失败)。我的第二种方法是将多个打印方法分组在一个变量下,并从变量级别执行每个方法(也失败了并且不确定是否可能)。任何替代方案或建议将不胜感激。

4

1 回答 1

1

您可以使用 alist comprehension将嵌套元组加入cutjoin再次将第一个生成的多个字符串join分成单独的行,如下所示:

cut=(
 ('total genes',Signature_1, str(len(NameA))),
 ('up genes',Signature_1, str(len(upA))))

lines = '\n'.join([' '.join(i) for i in cut])

这对你有用吗?

于 2020-09-20T20:20:34.543 回答