gpt4 book ai didi

python - 如何将 Python Shell 写入输出文本文件?

转载 作者:行者123 更新时间:2023-12-01 07:38:18 27 4
gpt4 key购买 nike

我需要将 Python shell 写入输出文本文件。我已将其中一些写入输出文本文件,但我现在需要的只是将行数和每行中的数字添加到我的输出文本文件中。

我尝试在 for 循环之外添加另一个 for 循环。我尝试过将其放入 for 循环中,但它很复杂。

文本文件数字列表:

1.0,    1.12, 1.123
1.0,1.12,1.123
1

代码:

import re
index = 0
comma_string = ', '
outfile = "output2.txt"
wp_string = " White Space Detected"
tab_string = " tab detected"
mc_string = " Missing carriage return"
ne_string = " No Error"
baconFile = open(outfile,"wt")
with open("Version2_file.txt", 'r') as f:
for line in f:
flag = 0
carrera = ""
index = index +1
print("Line {}: ".format(index))
baconFile.write("Line {}: ".format(index))
if " " in line: #checking for whitespace
carrera = carrera + wp_string + comma_string + carrera
flag = 1
a = 1
if "\t" in line: #checking for tabs return
carrera = carrera + tab_string + comma_string + carrera
flag = 1
if '\n' not in line:
carrera = carrera + mc_string + ne_string + carrera
flag = 1
if flag == 0: #checking if no error is true by setting flag equal to zero
carrera = ne_string
print('\t'.join(str(len(g)) for g in re.findall(r'\d+\.?(\d+)?', line )))
print (carrera)
baconFile.write('\t'.join(str(len(g)) for g in re.findall(r'\d+\.?(\d+)?', line ) ))
baconFile.write(carrera + "\n")

with open("Version2_file.txt", 'r') as f:
content = f.readlines()
print('Number of Lines: {}'.format(len(content)))
for i in range(len(content)):
print('Numbers in Line {}: {}'.format(i+1, len(content[i].split(','))))
baconFile.write('Number of lines: {}'.format(len(content)))
baconFile.write('Numbers in Line {}: {}'.format(i+1, len(content[i].split(','))))
baconFile.close()

预计写入输出文件:

Line 1: 1    2    3 Tab detected, whitespace detected
Line 2: 1 2 3 No error
Line 3: 1 Missing carriage return No error
Number of Lines: 3
Numbers in Line 1: 3
Numbers in Line 2: 3
Numbers in Line 3: 1

输出文件的实际值:

Line 1:  1  3   2White Space Detected, tab detected, White Space Detected, 
Line 2: 1 3 2No Error
Line 3: 0Missing carriage returnNo Error
Number of lines: 3Numbers in Line 1: 3Number of lines: 3Numbers in Line 2: 3Numb

最佳答案

您已在第一个 open block 中关闭了 baconFile,但不要在第二个 open block 中再次打开它。此外,您永远不会在第二个 open block 中写入 baconFile ,考虑到您没有在那里打开它,这是有道理的,但您不能指望已写入它。看来您只是忘记添加一些 write 语句。也许您将 writeprint 混淆了。添加这些 write 语句,您应该会很满意。

baconFile = open(outfile,"wt")
with open("Version2_file.txt", 'r') as f:
for line in f:
# ... line processing ...
baconFile.write(...) # line format info here
# baconFile.close() ## <-- move this
with open("Version2_file.txt", 'r') as f:
content = f.readlines()
baconFile.write(...) # number of lines info here
for i in range(len(content)):
baconFile.write(...) # numbers in each line info here
baconFile.close() # <-- over here

关于python - 如何将 Python Shell 写入输出文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56861171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com