python 调用文件传参_python-通过命令行执行模块并传参

前言

来自自己的笔记, 搬运过来

正文如下

首先, 如果需要执行一个模块, 则该模块文件中必须要定义if __name__ == __main__:来调用需执行的方法(若无则执行无任何输出)

如我定义了一个doTest.py文件, 存放路径D:/new-company/work/python/idle/doTest.py

其代码内容如下

def fib(n): # write Fibonacci series up to n

a, b = 0, 1

while b < n:

print(b, end=' ')

a, b = b, a+b

print()

def fib2(n): # return Fibonacci series up to n

result = []

print(n)

a, b = 0, 1

while b < n:

result.append(b)

a, b = b, a+b

return result

if __name__ == "__main__":

import sys

print(sys.argv)

print(sys.argv[0])

listResult = fib2(int(sys.argv[1]))

print(listResult)

那么我在cmd中进行以下测试在doTest.py的文件夹中执行

D:\new-company\work\python\idle>python3 doTest.py 3

['doTest.py', '3']

3

[1, 1, 2]

D:\new-company\work\python\idle>在别的目录进行执行

C:\Users\4399-3046>python3 D:/new-company/work/python/idle/doTest.py 4

['D:/new-company/work/python/idle/doTest.py', '4']

D:/new-company/work/python/idle/doTest.py

4

[1, 1, 2, 3]

C:\Users\4399-3046>

通过上面的输出可以看到sys.argv这是个数组集合, 元素内容解释如下第一个元素为存放的为路径, 此路径为执行目录处到被执行文件目录的路径 + 被执行文件名

往后的元素存放的为执行次模块所传入的参数, 且按照顺序存放

首发来自公众号: 程序员品首发链接​mp.weixin.qq.com

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值