Python - 使用定界符截断输出

Python - Use Delimiter to Cut Off Output

下面的解决方案对你们中的一些人来说可能看起来很漂亮 "basic";我已经尝试了大量的源代码和大量的阅读来完成这项任务,并不断收到我几乎无法阅读的输出,这些输出根本不执行,或者只是不让我脱离循环。

我试过使用: split(), splitlines(), import re - re.sub(), replace(), 等等

但我只能使用基本字符串使它们成功,但在使用文本文件时却不行,因为文本文件有分隔符,涉及换行。我'我不太确定如何使用 for 循环遍历文本文件,尽管我在 Python 中使用它们来创建依赖于增量的批处理文件。我对当前的任务很迷茫

============================================= ============================

问题:

我创建了一个包含以下信息的文本文件 (file.txt):

2847:784          3637354:
347263:9379       4648292:
63:38940          3547729:

我想使用第一个冒号 (:) 作为分隔符,并让我的输出仅打印每一行中出现在它之前的数字。我希望它看起来像下面这样:

2847
347263
63

我已经阅读了几个主题并尝试使用编码解决方案,但没有收到我想要的输出,我认为我也不完全理解这些解决方案中的许多内容。我已经阅读了几本关于该主题的书籍和网站,但无济于事,所以我现在求助于检索可能对我有帮助的代码,然后我将尝试使用它来形成我自己的理解。我希望这不会让任何人觉得他们为我工作太辛苦了。到目前为止我尝试过的是:

tt = open('file.txt', 'r').read()
[i for i in tt if ':' not in i]


vv = open('file.txt', 'r').read()
bb = vv.split(':')
print(bb)


vv = open('file.txt', 'r').read()
bb = vv.split(':')
for e in bb:
    print(e)


vv = open('file.txt', 'r').read()
bb = vv.split(':')
lines = [line.rstrip('\n') for line in bb]
print(lines)


io = open('file.txt', 'r').read()
for line in io.splitlines():
print(line.split(" ",1)[0]


with open('file.txt') as f:
lines = f.readlines()
print(lines)

每一个的输出都没有给我我想要的,但我完全不确定我做错了什么。有没有我可以参考的资源。我一直在阅读论坛以及 "Fluent Python," "Data Wrangling with Python," "Automate the Boring Stuff," 和 "Learn Python the Hard Way,",但我一直无法解决这个问题。在此先感谢您的帮助。

试试这个:

with open('file.txt') as myfile:
    for line in myfile:
        print(line.split(':')[0])