[python]自问自答:python -m参数? ( python3.7 版本 )

最近在看Python代码的时候看到了一种形式, 即  python -m    这种形式,   查了一些博客,发现了一篇写的还不错,转载了过来,不过那里面写的是Python2.7的环境和python3还是有些区别的,下面给出Python2.7形式的如下:

https://www.cnblogs.com/devilmaycry812839668/p/10230459.html

 

 

 

 ==========================================

 

 

 

下面说下pyhon3里面的一些探索:

# 目录结构如下
test/
    __init__.py
    x.py
    subpackage/
        __init__.py
        y.py  

 

 

 

# x.py 内容如下

import sys
print("This is   x  file")
print(sys.path)
print("\n"*3)

from subpackage import y

 

 

# y.py 内容如下

import sys
print("This is   y  file")
print(sys.path)

 

 

 

 

 

 

运行代码:

 

 

从上面两个图可以看到  直接运行代码:

即运行 x.py  程序最终的当前目录一直为  x.py所在的目录, 不论你是在哪个目录里面指定运行 x.py 代码的, 最终的当前目录都为  /home/devil/test   。

 

 

 

 ============================================

 

 

 

下面看下   以模块形式运行  x.py    (模块形式运行 x.py  是指运行模块 x , 所以不用写  .py  )

 

 

可以看到 运行模块和直接运行还是有区别的, 那就是 运行模块的话( python -m )当前目录为你调用执行的目录,
如:
在 /home/devil/test 目录下执行python -m x 时, 当前目录为 /home/devil/test

在 /home/devil 目录下执行python -m test.x 时, 当前目录为 /home/devil

 

 

==================================

 

posted on   Angry_Panda  阅读(2381)  评论(1编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2017-01-07 遗传算法,实数编码的交叉操作之SBX(模拟二进制交叉)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示