调用下列python的主函数,并获取到入参变化的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用下列python的主函数,并获取到入参变化的值?相关的知识,希望对你有一定的参考价值。

不管用何种方式调用这个python文件,python文件中类似是这样的:
if __name__ == '__main__':
test_name=input_arg1
test_name2=input_arg2
sum_add=test_name+test_name2
input_arg3=300
现在我要传入3个参数,调用这个python文件后,获取到sum_add的值,同时还要获取到input_arg3的值被修改为300,调用方式不限。用批处理也好,shell也好。python文件内容已经确定,不能再修改了。只能通过外部的调用方式。我看到过有第三方软件外部也定义了3个一模一样的参数,然后调用了这个python文件,结果是能达到的,比较好奇它究竟是怎么做到的。我自己无论怎么试都是提示3个参数没有定义。。

在其它python文件中调用这个文件时,就不满足__name__ == '__main__'这个条件了,所以你找错地方了。

不通过python文件调用它,就满足这个条件。


-----------------------------

一般情况下,我们都是在这个判断后做测试:

直接运行dbpoll.py将执行文档中的测试

而使用这个文件里的功能,则是常规的引入:import后实例化相应的类:

参考技术A input_arg2只是一个变量,没有起到读命令行参数的作用
你可以学一下sys.args
argparse模块,click模块等实现这些功能追问

sys.args这个我知道,我比较奇怪的是调用这种格式的main函数也是可以达到修改变量值的效果吗,能不能举个例子

追答

你上面的代码不能
至于你说“看到过有第三方软件外部也定义了3个一模一样的参数”
希望你更详细阐述是如何定义,如何执行

追问

我看不到它的执行过程,定义也是软件上定义的,我们只是配置好参数后,点一下运行,就可以获取到参数的值。但是调用的python文件里就是只有上面我说的这部分代码,所以我就很奇怪,它到底是怎么实现的

追答

最顶上如果还有import 全部贴出来

业务需求:增加一个用户后,给该用户增加500积分

业务需求:增加一个用户后,给该用户增加500积分

一、分析

二、实现步骤

  • 实现步骤:
    1、给用户插入一条数据
    2、查询刚刚插入的数据的主键uid的值
    3、给用户积分表插入数据,使用uid的值

三、参考代码

在插入语句结束后, 返回自增的主键值到入参的users对象的id属性中.

    <!--
      增加用户       int insert(Users users);
    -->
    <insert id="insert" parameterType="users" >
    <selectKey  keyProperty="id" resultType="int" order="AFTER">
        select last_insert_id()
    </selectKey>
        insert into users (username, birthday, sex, address) values(#userName,#birthday,#sex,#address)
    </insert>

以上是关于调用下列python的主函数,并获取到入参变化的值?的主要内容,如果未能解决你的问题,请参考以下文章

python获取函数所有入参的key-value

业务需求:增加一个用户后,给该用户增加500积分

业务需求:增加一个用户后,给该用户增加500积分

JMter参数化

JMeter接口测试——参数化

数据绑定流程分析