11

我在 .py 文件中有以下代码:

import re

regex = re.compile(
    r"""ULLAT:\ (?P<ullat>-?[\d.]+).*?
    ULLON:\ (?P<ullon>-?[\d.]+).*?
    LRLAT:\ (?P<lrlat>-?[\d.]+)""", re.DOTALL|re.VERBOSE)

我将 .txt 文件中的数据作为一个序列:

QUADNAME: rockport_colony_SD
RESOLUTION: 10 ULLAT: 43.625 ULLON:
-97.87527466 LRLAT: 43.5 LRLON: -97.75027466 HDATUM: 27 ZMIN: 361.58401489 ZMAX: 413.38400269 ZMEAN: 396.1293335 ZSIGMA: 12.36359215 PMETHOD: 5 QUADDATE: 20001001

如何使用 Python 文件来处理 .txt 文件?

我想我们需要 .py 文件中的参数,以便我们可以使用终端中的语法:

$ py-file file-to-be-processed

这个问题是由这里的帖子提出的。

4

1 回答 1

21

您需要读入文件,然后使用正则表达式搜索内容。sys 模块包含一个列表 argv,其中包含所有命令行参数。我们拉出第二个(第一个是用来运行脚本的文件名),打开文件,然后读入内容。

重新进口
导入系统

文件名 = sys.argv[1]
fp = 打开(文件名)
内容 = fp.read()

正则表达式 = 重新编译(
    r"""ULLAT:\ (?P-?[\d.]+).*?
    乌隆:\ (?P-?[\d.]+).*?
    LRLAT:\ (?P-?[\d.]+)""", re.DOTALL|re.VERBOSE)

匹配 = 正则表达式。搜索(内容)

有关可以使用匹配对象做什么的详细信息,请参阅Python 正则表达式文档。请参阅文档的这一部分,了解为什么我们在扫描文件时需要搜索而不是匹配。

此代码将允许您使用您在问题中指定的语法。

于 2009-01-29T10:50:05.370 回答