-4

我有一些文字:

228;u;Ali;
129;cr;Daan;
730;c;Arton;
466;cr;Frynk;
314;c;Katuhkay;
9822;c;Kinberley;

我想将此文本写入文件,但我只想写带有符号';cr;'的行

4

2 回答 2

2

像这样的东西:

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
于 2013-01-21T21:54:02.517 回答
0
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)它将字符串打印到输出文件。

于 2013-01-21T21:55:50.780 回答