python 文件中的传参

python 文件中的传参

    • 1. python 在 Liunx 中的 写法
    • 2. python 在 shell 中的 传参
    • 3. 把在 shell 中的 参数传到 python 文件 的函数中

1. python 在 Liunx 中的 写法

#!/usr/bin/env python3
# -*- coding: UTF-8 -*- 

'''
上面的两行是给系统看的,运行是使用 python xxx,py 就把 上面的 python3 换成 python
'''


'''
下面的一行是导入模块 (包)
'''
import sys


'''
下面的是定义函数的
'''
def YKenan():
	print("YKenan")


'''
下面的是主函数
'''
if __name__ == "__main__":
    YKenan()

2. python 在 shell 中的 传参

sys.argv[n] (n 为自然数)来接受

//shell 中的命令
python3 xxx.py YKenan1 YKenan2 YKenan3

#!/usr/bin/env python3
# -*- coding: UTF-8 -*- 

'''
python 文件中接受 shell 中的 参数
'''
import sys

def YKenan():
	print(sys.argv[1], sys.argv[2], sys.argv[3])

'''
如果上面的 加入 sys.argv[0] 则,sys.argv[0] 的结果为 python 文件名字
'''

if __name__ == "__main__":
    YKenan()

3. 把在 shell 中的 参数传到 python 文件 的函数中

//shell 中的命令
python3 xxx.py YKenan1 YKenan2 YKenan3 YKenan4

#!/usr/bin/env python3
# -*- coding: UTF-8 -*- 

import sys

'''
传参单个 不用加 () , 多个用, 类比下面就可以的
'''

def YKenan(YKenan_one, YKenan_two, YKenan_three, YKenan_four):
	print(YKenan_one)
	data1 = ['%s + %s' % (YKenan_two, YKenan_three), '%s' % YKenan_four]
	print(data1)

if __name__ == "__main__":
    YKenan(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])

你可能感兴趣的:(python)