【问题标题】:Python: How to print coordinates (row, column) of a string in a file?Python:如何打印文件中字符串的坐标(行、列)?
【发布时间】:2018-11-20 16:16:22
【问题描述】:

如何打印文件中字符串的坐标?

我有一个大文件,其中只出现一次字符串。如何在元组(或列表或任何东西)中打印出它的起始坐标(它开始的行和列)?

我已经完成了:

f = open('text.txt', 'r')
text = f.read()

现在呢?

PS:我知道这是非常基础的,但似乎没有任何效果,而且这不在我能找到的任何基本教程中。

【问题讨论】:

  • 您可以发布您的text.txt 文件的示例数据吗?
  • +Sijan Bhandari 对不起,我不能,这是私人的。它们大约有 50 行和 50 列(大约)ASCII 字符。我可以生成一些欺骗数据,但我不明白为什么有必要。
  • 澄清一下 - 我很肯定文件中只有一次给定字符串(例如:“aaaaa”)出现(基于通过编辑器搜索)。现在我想让 Python 再次找到它并打印坐标,这样我就可以继续我的编码了。

标签: python string file search


【解决方案1】:

怎么样:

def find_coordinates(string, filepath):
    with open(filepath) as f:
        for row, line in enumerate(f, start=1):
            col = line.find(string)
            if col > -1:
                return row, col + 1

coordinates = find_coordinates('aaaaa', '/path/to/file')  # returns (row, col)

【讨论】:

  • 就是这样,谢谢!另外,我认为会有一些预制的东西,这就是我感到沮丧的原因:)。
【解决方案2】:

如果你的 'text.txt' 文件有坐标,你可以使用它。

with open('text.txt', 'r') as f:
    content = f.readlines()

【讨论】:

  • “内容”?那是什么?如何用一个具体的字符串(比如“aaa”)来做到这一点?
  • content 在这种情况下是文件中的行列表
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
  • 2023-01-09
相关资源
最近更新 更多