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