从fi中提取信息的最佳方法

2024-05-20 01:31:58 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我的文件是:

Game #51236595 Tourney #123698521 Hand #9865653215
player luisgustavo call
player otherplayer fold
player otherother  check

我想以最好的方式获取信息。 请记住,所有文件都是这种格式。人数和球员有什么变化

编辑:好吧,但这不是家庭作业。 我已经做过几次了,但我不认为这是最好的方法。在

^{pr2}$

代码运行得很好。但我不认为这是一个好的代码必须有更好的方法来做到这一点。在


Tags: 文件方法gamecheck格式方式foldcall
3条回答

您可以将csv.reader与自定义方言一起使用,以获得具有许多已排序的详细信息的通用解决方案。在

基于上述@brc给出的答案:

with open(".myfile", "r") as myfile:
    for line in myfile:
        parts = line.split()

        if parts[0] == 'Game':
            game_tag, game_number, tourney_tag, tourney_number, hand_tag, hand_number = parts
            continue

        player_tag, player_name, player_action = parts

这将以最小的开销清楚地提取出您需要的部分。当然,您还需要对这些值进行实际操作。另外,我假设一个文件中可以有多个“游戏”行。如果不是这样,你可以在第一行检查一下。在

尝试一下

with open('.myfile', 'r') as myfile:
    header = myfile.readline().split()
    game_number, tourney_number, hand_number = header[1], header[3], header[5]
    for line in myfile:
        player_name, player_action = line.split()[1:]

它使用split()[docs],而且更像Python。在

相关问题 更多 >