Linux基础使用2-结合python使用
添加命令行参数运行python文件
通过import sys
导入python 标准库中的 sys.py 模块,sys.argv
包含命令行参数的列表。通过循环获取sys.argv
中的参数。
特别注意:sys.argv[0]
为代码本身。
for i in sys.argv: print(i)
|
实操1:打印命令行参数
控制台输入:
cd dongyu #你的文件路径 vim test5.py #输入test5.py文件内容 python3 test5.py 参数1 参数2
|
test5.py文件内容如下:
import sys for i in sys.argv: print(i)
|
结果:
test5.py #sys.argv[0] 参数1 参数2
|
实操2:使用os模块打印/usr/bin/路径下所有以m开头的文件
控制台输入:
cd dongyu #你的文件路径 vim test5.py #输入test5.py文件内容 python3 test5.py
|
修改test5.py文件内容如下:
import os filelist=os.listdir('/usr/bin/') import re for f in filelist: if re.match(r'm',f,re.M|re.I): print(f)
|
结果:
[coggle@i-7lo31rsr dongyu]$ python3 test6.py mtr mk_modmap mtr-packet mountpoint manpath make-first-existing-target man mlocate manifest mesg migrate-pubring-from-classic-gpg ...#省略
|
创建py目录,并进行import导入
实操:test6.py可以进行命令行解析,输出affairs.txt具体的第几行内容
控制台输入:
cd dongyu #你的文件路径 vim affairs/affairs.py #输入affairs/affairs.py文件内容 vim test6.py #输入test6.py文件内容 python3 test6.py 10 11
|
affairs.py文件内容如下:
import pandas as pd data=pd.read_csv('./affairs.txt') def printdata(index): try: index=int(index) except: print('index:error!',index) return if index < len(data): print(index,data.iloc[index])
|
test6.py文件内容如下:
import sys import affairs.affairs as af for i in sys.argv[1:]: print(af.printdata(i))
|
结果:
10 rate_marriage 3.0 age 22.0 yrs_married 2.5 children 0.0 religious 2.0 affairs 1.0 Name: 10, dtype: float64 None 11 rate_marriage 3.0 age 27.0 yrs_married 6.0 children 0.0 religious 1.0 affairs 1.0 Name: 11, dtype: float64 None
|