如何从“ startswith”到“ endswith”打印字符串的一部分

阿纳塔

我喜欢将原始文本文件的某些部分(可以在'startswith'和'endswith'字符串之间进行标识)保存到新的文本文件中。

示例:输入文本文件包含以下几行:

...abc…
...starts with string...
...def...
...ends with string...
...ghi...

...jkl...
...starts with string...
...mno...
...ends with string...
...pqr...

我有兴趣将以下行提取到输出文本文件中:

starts with string...def...ends with string
starts with string...mno...ends with string

我的以下代码返回空列表[]。请帮助纠正我的代码。

with open('file_in.txt','r') as fi:
    id = []
    for ln in fi:
        if ln.startswith("start with string"):
            if ln.endswith("ends with string"):
                id.append(ln[:])
                with open(file_out.txt, 'a', encoding='utf-8') as fo:
                    fo.write (",".join(id))
print(id)

我希望file.out.txt包含所有以“以字符串开头”和“以字符串结尾”开头的所有字符串。

乔泰加

每行的末尾都有一个字符,告诉计算机显示新行。我在这里假设“以字符串开头”和“以字符串结尾”在同一行上。如果不是这种情况,请在第一个if语句的正下方添加-“ id.append(ln [:])”-。

尝试

ln.endswith("ends with string"+'\n' )

要么

ln.endswith("ends with string"+'\n' +'\r')
with open('C:\\Py\\testing.txt','r') as fi:
    id = []
    x = 0
    copy_line = False
    for ln in fi:
        if "starts with string" in ln:
            copy_line = True
        if copy_line:
            id.append ( ln[:] )
        if "ends with string" in ln :
            copy_line = False

    with open ('C:\\Py\\testing_out.txt', 'a', encoding='utf-8' ) as fo:
        fo.write (",".join(id))

print(id)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从“ [”到末尾删除字符串的一部分

如何在JavaScript中获取字符串的最后一部分?

如何在JavaScript中的“:”之前删除字符串的一部分?

如何加粗文本的一部分Android字符串

如何从api的一部分接收数据到另一部分

如何检查我的字符串是联合类型的一部分

特殊字符后如何获得字符串的一部分?

如何拆分字符串并返回字符串的一部分

如何从一个单词到另一个单词提取字符串的一部分?

如何从特定字符中删除字符串的一部分?

如何在C中打印字符串的一部分

如何打印作为JSON一部分的字符串数组包含其他属性

XSL,如何给字符串的一部分上色

如何将字符串的一部分存储到字典中

如何将Tkinter变量打印为字符串的一部分?

将字符串的一部分绑定到Angular作用域变量

如何在Java中获取字符串的一部分并进行打印?

如何将一个字符串快速复制到另一个字符串的一部分中?

如何打印字典的第一面/一部分?

如何用字符替换字符串的一部分

如何找到子字符串字符串的一部分

如何在 Java 中使用 Random 类打印字符串的一部分?

如何打印 JSON 字符串的一部分并将其存储在变量中?

如何提取包含特殊字符的字符串的一部分(编号)

如何将字符串的一部分从列复制到熊猫的新列中

如何使用数组替换字符串的一部分

如何在分隔符和輸入到新列之間多次提取字符串的一部分 T-SQL

如何使用正則表達式將字符串的一部分捕獲到組中?

如何從數組(Java)打印字符串的一部分?