【python】变量命名规范和实现切换测试环境脚本代码、以及bug解决记录

任务需求

jenkins的自动化处理:详见【IOS+Jenkins+python】xcode初接触以及ios项目跑动的尝试和py脚本进行jenkins编译
本文主要记录使用python的注意点。之前虽然有接触过但是很多知识都忘记了。毕竟那是大一大二接触的东西,好几年过去了,记不清了。

Python 实现和问题记录

Python变量、方法、类的命名规则
在这里插入图片描述

# coding=utf-8
# 用户检测环境配置切换 2022-04
import os

class CheckEnvironments:
    # 初始化配置
    def __init__(self):
        if "IS_ALPHA_ENV" in os.environ:
            self.is_alpha_env = os.environ.get("IS_ALPHA_ENV")
        self.work_space = os.environ.get("WORKSPACE")
        # 环境变量以及appId等等配置文件的路径修改此处即可!
        self.filePath = self.work_space+"修改文件.h"

    @staticmethod
    def _get_is_alpha_env():
        return os.environ.get("IS_ALPHA_ENV")

    def start_check_environment(self):
        print("[ * ] start check environment.")
        print("[ ! ] The filepath of check environment {}".format(self.filePath))
        self.set_alpha_env(self.is_alpha_env,self.filePath)
        print("[ * ] end check environment.")

    def set_alpha_env(self,isAlphaEnv, filePath):
        #使用测试环境:修改文件中的kAppIsAlpha 改为1,而在正式环境则为0;
        alphaVal = 0
        if isAlphaEnv == 'true':
            alphaVal = 1
        else:
            alphaVal = 0
        self.set_macro("kAppIsAlpha", alphaVal, filePath)
    """
    set_macro 设置宏,针对后续开源处理需要对配置文件进行替换或者屏蔽处理所增加的方法
    macroName 是指定宏名称,如:kAppIsAlpha
    macroVal 是该宏指定的参值 如:1、0、appID等等
    filePath  是考虑到文件路径和名称的修改情况,特地给的一个参;不过在本py文件中已在init中进行定义,可以在该位置进行修改。
    后续针对其他配置处理可以参考set_alpha_env方法。
    """
    def set_macro(self,macroName, macroVal, filePath):
        print("[ * ] start setMacro")
        regex1 = "{}\s\S.*".format(macroName)
        regex2 = "{} {}".format(macroName, macroVal)
        print("[ * ] Set {} value as {}".format(macroName, macroVal))
        cmd = "gsed -i 's/{}/{}/g' {}".format(regex1, regex2, filePath)
        os.system(cmd)
        print("[ ! ] check_environment cmd执行命令行:{}".format(cmd))

上述代码是最终的完善版本的。

问题遇见

  1. 下午四点钟,对这个代码的优化,不过在跑的时候蹦了!
    在这里插入图片描述
  • 初步判断是:python对变量敏感,而且用Android studio中写的代码,没有好的提示!修改变量名统一起来即可!

  • 遇到了def的问题,但是在代码中我的确def这个方法。为啥他说没?!
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t1P7PTTi-1649819487017)(assets/16494061379016.jpg)]
    那么
    我修改增加个self,结果爆出这个问题:

TypeError: setAlphaEnv() takes 2 positional arguments but 3 were given

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-30loRnCI-1649819487018)(assets/16494064639061.jpg)]

在所有的python方法中都加入一个self才可以正常运行。
Python中的self用法详解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值