python - 有效地从文件中读取主版本号

标签 python list slice

我正在编写一个脚本,它将通过读取文件来检查主要版本

在任何行存储版本号Major.Minor.Fix

像这样:

VERSION = 23.5.1

所以要阅读这个数字 23,我正在这样做

filePath = os.path.join(os.getcwd(), 'Makefile')
with open(filePath, 'r') as mkfh:
    for line in mkfh:
        if line.startswith('VERSION'):
            print line.replace(' ','').split('=')[-1].split('.')[0]
            break

他们获取主要版本的方法比使用替换和拆分两次更有效吗?

最佳答案

使用正则表达式:

import re

pattern = re.compile(r'VERSION\s*=\s*(\d+)')  # \s: space, \d: digits

with open('Makefile') as mkfh:
    for line in mkfh:
        matched = pattern.match(line)
        if matched:
            print matched.group(1)
            break

顺便说一句,如果您要访问当前工作目录中的文件,则不需要使用 os.path.join

关于python - 有效地从文件中读取主版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31758565/

相关文章:

Python数组切片——如何实现二维数组切片?

python - 如何使用pip打包的django项目?

python - 来自未在 python 中使用 mako 呈现的变量的 Html 字符串

python - py2neo 如何根据节点的属性检索节点?

c++ - std::list 和 std::vector - 两全其美?

python - 有效地在python关联列表中查找元素

string - 字符串 slice 是否执行基础数据的复制?

arrays - 如何交换数组、切片或 Vec 的元素?

python - 对列表的一部分进行就地排序

python - 如何从 pandas 数据框内的列表中调用值?