我有一些文字:
228;u;Ali;
129;cr;Daan;
730;c;Arton;
466;cr;Frynk;
314;c;Katuhkay;
9822;c;Kinberley;
我想将此文本写入文件,但我只想写带有符号';cr;'的行
像这样的东西:
with open("input.txt") as f,open("output.txt","w") as f2:
for line in f: #iterate over each line of input.txt
if ";cr;" in line: #if ';cr;' is found
f2.write(line+'\n') #then write that line to "output.txt"
在 python 中,您可以使用以下命令轻松检查子字符串in
:
In [167]: "f" in "qwertyferty"
Out[167]: True
In [168]: "z" in "qwertyferty"
Out[168]: False
with open("input.csv", "r") as inp, open("output","w") as out:
inpList = inp.read().split()
out.write('\n'.join(el for el in inpList if ';cr;' in el))
如果您希望从网络读取数据,请使用以下命令:
from urllib2 import urlopen
inp = urlopen("<URL>")
with open("output","w") as out:
inpList = inp.read().split()
out.write('\n'.join(el for el in inpList if ';cr;' in el))
read()
一次读取整个文件。split()
将其拆分为由空格分隔的列表。
读(...) read([size]) -> 最多读取 size 个字节,以字符串形式返回。 如果 size 参数为负数或省略,则读取直到到达 EOF。
为了写入文件,'\n'.join([elem1,...])
从所有包含 ';cr;' 的 inpList 元素中创建一个字符串。这个字符串被传递给write(str)
它将字符串打印到输出文件。