是否可以将包含字符串、变量和整数的多个打印命令包装到以后可以写入文件的变量中

Posted

技术标签:

【中文标题】是否可以将包含字符串、变量和整数的多个打印命令包装到以后可以写入文件的变量中【英文标题】:Is it possible to wrap multiple print commands that contain, strings, variables, and integers, to a variable that can later be written to a file 【发布时间】:2021-01-07 00:22:17 【问题描述】:
 #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 循环(这已经失败)。我的第二种方法是将多个打印方法分组在一个变量下,并从变量级别执行每个方法(也失败了并且不确定是否可能)。任何替代方案或建议将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用list 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])

这对你有用吗?

【讨论】:

以上是关于是否可以将包含字符串、变量和整数的多个打印命令包装到以后可以写入文件的变量中的主要内容,如果未能解决你的问题,请参考以下文章

整数的分隔列表

在 C 中更改和包装关键字整数而无需循环

输入多个整数求和

如何将字符串中的多个数字转换为整数

python中的输入和输出

Python CodeLab 关于异常的问题——尝试,除了 ValueError