这是我正在使用的输入文本文件:https://gist.github.com/TestAcc7777/5983147
在文本文件中,开头几行之后的每一行都包含“ CORE X”,其中X是从1到64的数字。某些包含“ CORE X”的行也包含“ V3”或“ V4”。
对于X的每个值,我想输出包含“ CORE X”并且也仅包含“ V3”或“ V4”之一的行-使用随机数生成器确定哪一个。
我已经在Python 3中编写了以下内容,并结合了一些正则表达式,以编写所有包含“ CORE X”的行,但包含拒绝的“ V”片段的行除外:
import re
import random
tri = open(input("Input File: "))
tro = open(input("Output File: "),'w')
for line in tri.readline():
for i in [1,65,1]:
if random.random()>0.5:
q = 4
else:
q = 3
if re.search(r'CORE\s'+str(i), line):
if re.search(r'V', line):
if re.search(r'V'+str(q), line):
tro.write(line)
else:
tro.write(line)
但是,当我运行程序时,它似乎很快完成并且输出文件为空。我仍然对Python和编程没有足够的经验,因此,对我的程序提供帮助的任何帮助将不胜感激。
最佳答案
替换此行
for line in tri.readline():
如:
for line in tri:
readline()
返回一行。for line in tri.readline()
迭代第一行的每个字符(字符串)。