python -c 命令与python -m 命令的用法

python -c 命令

python的 -c 可以直接在命令行中调用 python代码, 实际上 -c 就是 command 的意思。简言之就是 python -c 可以在命令行中执行 python 代码, 跟把代码放置在 .py 文件中,然后运行这个文件是一样的效果。

python -c "print('TYXC')"

在这里插入图片描述
注意,如果括号里面也用双引号的话会报错。

python -c "print("TYXC")"

在这里插入图片描述
我们一般使用三引号来标示需要执行的代码:

python -c '''print("TYXC")'''

这样还有一个好处就是也可以执行多行的代码:

python -c '''
import arrow    
print(arrow.now())
'''

python -m 命令

python -m xxx.py

作用是:把xxx.py文件当做模块启动
接下来我们看看python xxx.py和python -m xxx.py有什么区别。

  1. python xxx.py
  2. python -m xxx.py

这是两种加载py文件的方式:

1叫做直接运行
2把模块当作脚本来启动(注意:但是__name__的值为’main’ )

不同的加载py文件的方式,主要是影响——sys.path 这个属性。sys.path 就相当于liunx中的PATH。

# 目录结构如下
package/
	__init__.py
	mod1.py
package2/
	__init__.py
	run.py  
# run.py 内容如下
import sys
from package import mod1
print(sys.path)

直接启动是把run.py文件,所在的目录放到了sys.path属性中。
模块启动是把你输入命令的目录(也就是当前路径),放到了sys.path属性中。

# 直接启动
python package2/run.py
# 模块启动
python -m package2.run

这时如果直接启动就会报错:ImportError: No module named package
因为import的package模块的路径此时不在sys.path中,而使用模块启动则不会出现问题。

参考网站

python -c 妙用
python -m 参数

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯小才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值