将Python输出打印到.txt文件

将Python输出打印到.txt文件,python,Python,我在将代码输出打印到.txt文件时遇到了一些问题 我希望将代码的结果打印到一个.txt文件中,然后我可以使用打印的数字作为变量,表示从.txt文件顶部开始读取的行数,并将该部分文本分离到它自己的.txt文件中 为了更好地解释这一点,我附上了一个小图表的链接 我已经研究了一段时间,似乎找不到它!有人对如何做到这一点有什么想法吗 我的代码如下: from itertools import permutations import string # Enter new brand names to

我在将代码输出打印到.txt文件时遇到了一些问题

我希望将代码的结果打印到一个.txt文件中,然后我可以使用打印的数字作为变量,表示从.txt文件顶部开始读取的行数,并将该部分文本分离到它自己的.txt文件中

为了更好地解释这一点,我附上了一个小图表的链接

我已经研究了一段时间,似乎找不到它!有人对如何做到这一点有什么想法吗

我的代码如下:

from itertools import permutations
import string


# Enter new brand names to following lists

brand_names = "8x8, AmazonAWS, Checkpoint, Cisco, Citrix, Commvault, Dell, Dell_EMC, Google, Google_Cloud, HPE, Hyland, IBM, IBM_Cloud, Microsoft, Microsoft_Azure, NetApp, Oracle, Pure_Storage, SAP, Thompson_Reuters, Veritas, VMware, Aerohive, Aramark, Bloomberg, BMC, Box, CompuCom, Cybera, Extreme, FireEye, GE, Globoforce, GPSI, Infor, Lux_Research, MetTel, Oracle_Cloud, PAR_Invista, Puppet, Rackspace, Ruckus, Salesforce, SonicWall, SPI, Splunk, Stratix, Supermicro, Tenable, Ultipro, US_Bank, Veeam, VIP"

for group in permutations(['8x8', 'AmazonAWS', 'Checkpoint', 'Cisco', 'Citrix', 'Commvault', 'Dell', 'Dell_EMC', 'Google', 'Google_Cloud', 'HPE', 'Hyland', 'IBM', 'IBM_Cloud', 'Microsoft', 'Microsoft_Azure', 'NetApp', 'Oracle', 'Pure_Storage', 'SAP', 'Thompson_Reuters', 'Veritas', 'VMware', 'Aerohive', 'Aramark', 'Bloomberg', 'BMC', 'Box', 'CompuCom', 'Cybera', 'Extreme', 'FireEye', 'GE', 'Globoforce', 'GPSI', 'Infor', 'Lux Research', 'MetTel', 'Oracle_Cloud', 'PAR_Invista', 'Puppet', 'Rackspace', 'Ruckus', 'Salesforce', 'SonicWall', 'SPI', 'Splunk', 'Stratix', 'Supermicro', 'Tenable', 'Ultipro', 'US Bank', 'Veeam', 'VIP'], 3):
    print('_'.join(group)) 
print
print

# Python3 code to demonstrate 
# to count words in string 
# using regex (findall()) 
import re 


# printing original string 
print ("The original string is : ")
print
print("'" + brand_names + "'") 


# using regex (findall()) 
# to count words in string 
res = len(re.findall(r'\w+', brand_names)) 

print
print
print

# printing result 
print ("The number of brands are : " + str(res)) 

print
print
N = res
import sys
sys.stdout = open("file.txt", "w+")
print (group)
你应该使用
.write
而不是
print


使用stdout会很危险,并且可能会影响您未考虑的部分代码-我建议您完全删除该部分代码。

您也可以使用
操作符


python-trial.py>trial.txt

Hi-Owen的可能副本,欢迎使用Stack Exchange!我很肯定这已经在另一个问题上得到了回答。重新定义
sys.stdout
的部分有点危险,很可能您希望按照
的思路,使用open('file.txt','w+')作为f:f.write(group)
。我链接的问题应该告诉你你需要什么。嘿,欧文,希望这对你有用:1。空的打印语句不会起任何作用。如果要插入新行,请添加“\n”。2.当您打开没有指定完整路径的文件时,它将在当前工作目录(脚本执行的位置)中创建该文件。3.在这里找到答案:在接受答案的第二个回复中。嘿,伙计们,谢谢你们这么快回复我,我知道如何写入文本文件,但是我很难弄清楚我在文本中使用了哪个变量。我以为它是“打印”(“.join(group)),但它没有打印任何东西。我如何将我的置换数据转换成变量?另外,我对Python非常陌生,所以这对我来说是一次学习经历。如果他想使用write,他就不会尝试调整标准输出(虽然,这是他应该做的…),但是他用“w+”打开了文件。很明显,他打算在里面写。是的,用打印功能覆盖标准输出。