将版本ID增加1并写入.mk fi

2024-04-19 08:14:52 发布

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

我有代码可以从make文件中读入版本号。在

VERSION_ID=map(int,re.match("VERSION_ID\s*=\s*(\S+)",open("version.mk").read()).group(1).split("."))

存储为2.0.0版本,代码为2。在

有什么办法可以把这个数字增加一,然后把新的版本号写进版本.mk具有可变版本标识的文件

谢谢

我用write()代替read()尝试了相同的语句,但是我得到一个错误,说我不能写列表。我也尝试过将其写为字符串,但收到了错误的文件描述符消息。在

^{pr2}$

我知道这是垃圾,我只是在网上找不到该做什么。在

我也尝试过pickle模块,但没有成功。也许我可以写一个腌渍清单,然后把它拆开。或者我想我可以把整行都写下来。在

我尝试了另一种方法,我试图将列表作为字符串输入。我试过了,但我不确定是否有效。在

for x in VERSION_ID:
    "VERSION_ID={0}.{1}.{2}.format(x)

Tags: 文件字符串代码版本reidmap列表
1条回答
网友
1楼 · 发布于 2024-04-19 08:14:52

或者像这样(你也应该检查错误和那个)

#! /usr/bin/python

import re

fn = "version.mk"
omk = open(fn).readlines()
nmk = open(fn, "w")
r = re.compile(r'(VERSION_ID\s*=\s*)(\S+)')

for l in omk:
    m1 = r.match(l)
    if m1:
        VERSION_ID=map(int,m1.group(2).split("."))
        VERSION_ID[2]+=1 # increment version
        l = r.sub(r'\g<1>' + '.'.join(['%s' % (v) for v in VERSION_ID]), l)
    nmk.write(l)
nmk.close()

相关问题 更多 >