python -m xxx.py 与 python xxx.py

首先新建一个单独的py文件myfile.py,分别在命令行中敲入python myfile.py与python -m myfile.py运行下看看效果。

# 新建 myfile.py
sherry@sherry:~/Documents/github_code$ vim myfile.py
# myfile.py
import sys
print(sys.path)
print("hello world")
# cmd 中运行命令
sherry@sherry:~/Documents/github_code$ python -m myfile.py
sherry@sherry:~/Documents/github_code$ python myfile.py

发现:两行命令都可打印出路径和 hello world,但python -m 比python 多了一行error提示

/home/sherry/anaconda3/bin/python: Error while finding module
specification for 'myfile.py' (ModuleNotFoundError: __path__
attribute not found on 'myfile' while trying to find
'myfile.py')

可以看出,python -m myfile.py是以模块方式启动py文件的。
这也就解释了为啥我在开项目的时候遇到了下面这个报错。

# project structure
- file 1	
	-train.py
- file 2
- file 3

我在命令行中输入下面这行命令是报错的

python file.train -h

输入下面这行是正确的

python -m file.train -h
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值