当前位置:  开发笔记 > 编程语言 > 正文

如何将文件名作为参数传递到我的模块中?

如何解决《如何将文件名作为参数传递到我的模块中?》经验,为你挑选了1个好方法。

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

import re

regex = re.compile(
    r"""ULLAT:\ (?P-?[\d.]+).*?
    ULLON:\ (?P-?[\d.]+).*?
    LRLAT:\ (?P-?[\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 -file处理.txt文件?

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

$ py-file file-to-be-processed

这个帖子在这里提出了这个问题.



1> Andrew Wilki..:

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

import re
import sys

file_name = sys.argv[1]
fp = open(file_name)
contents = fp.read()

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

match = regex.search(contents)

有关如何使用匹配对象执行操作的详细信息,请参阅Python正则表达式文档.请参阅文档的这一部分,了解扫描文件时我们需要搜索而不是匹配的原因.

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

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有