python命令语法规则_python语法之命令行参数及pip命令指南

前言:

自从用了IDLE或者pycharm等集成开发环境,似乎已逐渐忘记了python命令行的用法,比如我 只能记得一些常用的命令行参数,如python xxx.py 执行python程序、python –version 查看python版本 以及 python -m pip xxx 可以加载模块pip进行安装第三方库。python命令行参数还是有很多可值得学习滴,如 可以向程序传递参数,可以在命令行上输入 -h –help 来查看程序的使用 方法等。接下来,我们一起往下看吧~

python -c xxx

[-c cmd]:执行Python语句后退出,可以执行一些简单的代码,比如 可以作为一个计算器使用

python -c “print(102312 / 3)” # 运行截图如下

3df6d510bf6df3a496c4755bd156610a.png

注意一点: 需要在引号中 写入一些简单的代码

python -m xxx

[-m mod]:把库模块当作脚本运行(同时也终止了选项列表,即其他选项必须放在-m之前)。最常用的就是使用 python -m pip xxx 也就是后接pip命令,下面细讲pip命令的用法。

677d2b9574a2ba0dc9bf463b484e2b08.png

python -V 或 python –version

相信大多数人应该都知道 这个命名是用来查看python版本的吧~ 不过有一点,我想应该很少人知道滴~ 看:

fa43a974affd7dacbbed7ece46bab4c4.png

加了两个V你会发现python版本显示更详细勒,当然你会发现多加几个V结果是跟两个V结果一样。

python -q

指定-q选项,立即显示命令提示符 >>>

427a6b3d8f4db5395906c135aac7c754.png

与传统的比是不是更加的简洁了呢?

python xx.py arg1 arg2 arg3 …

可以向xx.py程序中传入指定参数,并在xx.py内部接收这些参数。

import sys

print('从控制台接收到的参数为{},长度为{}'.format(sys.argv,len(sys.argv)))

print(type(sys.argv))

f0e480ca47369c8f8b4d66fb271dcdbc.png

注解:

要从控制台获取参数需要导入 sys中的argv

从结果上看 sys.argv 返回的是一个列表

由此可见,命令行参数以空格为分隔符,保存在sys.argv列表中,其中第一个为文件名

扩展:

当然也可以接收 -h –help –file=’123.txt’这类型的参数,如下代码:

import sys

import getopt

def info():

print(

"""

使用{}程序,方法如下:

-h or --help:显示帮助信息

-m or --module:模块名称

-a or --args:向模块传递参数

-v or --version:显示版本

-o or --output 导出文件

""".format(sys.argv[0])

)

def main(argv):

if len(argv) == 1:

info()

sys.exit()

try:

opts, args = getopt.getopt(sys.argv[1:], "hvo:m:a:",

["help", "output="]) # sys.argv[1:] 过滤掉第一个参数(它是脚本名称,不是参数的一部分)

for cmd, arg in opts:

if cmd in ('-h', '--help'):

print('帮助信息(开发中..)')

sys.exit()

elif cmd in ('-o', '--output'):

output = arg

print('获得到的输出文件为 {}'.format(output))

elif cmd in ('-m', '--module'):

module_name = arg

print('获取到的模块名为 {}'.format(module_name))

elif cmd in ('-a', '--args'):

module_args = arg

print('获得到的模块参数为 {}'.format(module_args))

elif cmd in ('-v', '--version'):

print('当前{}版本 v1.0'.format(sys.argv[0]))

except getopt.GetoptError:

print("参数输入错误,请重新输入。")

if __name__ == '__main__':

main(sys.argv)

看完是不是觉得有点晕呢? 别急 我慢慢解释:

当我们未向控制台输入参数时 也就是程序内部 sys.argv之获得到程序名,此时我们加了一个判断 如果长度为1 那么程序将打印输出 该程序的使用方法。

6b3f02abe219413fa73b032932a3873b.png

接下来就是这个程序的核心代码

4f7b0002605c13c2bd0915003f28cfdb.png

我们当然也可以用第一种方法 获得到列表取出列表除第一个外所有的元素进行遍历,然后使用字符串拼接找到相应的匹配的值,很显然这是一个foolish方法。

getopt Python 提供了一个 getopt 模块,可以帮助解析命令行选项和参数。函数接口如下:

getopt.getopt(args, options, [long_options])

args – 这是要解析的参数列表。

options – 这是脚本要识别的选项字母字符串,需要参数的选项后面应跟冒号 ‘ : ’

long_options – 这是可选参数,如果指定,则必须是具有long选项名称的字符串列表,应该支持这些字符串。 需要参数的长选项后面应该跟一个等号(’=’)。 要仅接受长选项,选项应为空字符串。

此方法返回由两个元素组成的值:第一个是(选项,值)对的列表。 第二个是剥离选项列表后剩下的程序参数列表。

结果如下:

c9e77555dd9e9481e15acad37171d413.png

ba80f0a33ba40c985f5bdb99cd8751b2.png

这样做,程序的可读性提高不少~

pip 命令的基本使用

大多数小伙伴是使用 pip install xxx 来安装模块,pip还有一些不错的参数 ,我们一起看看吧~

注意 -i 参数是临时改变镜像源,下一次下载还是需要手动加上 -i 参数

pip uninstall xxx

既然有安装,那么一定就会有卸载咯~

pip list

列出当前安装的第三方库

最后:

cf4a67d4b4f088da38c0ab37d6f6e32d.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值