Python 3.7中,如何使用-m参数模块运行?

2026-06-09 12:071阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计448个文字,预计阅读时间需要2分钟。

Python 3.7中,如何使用-m参数模块运行?

最近在查看Python代码的时候,发现了一种形式:即使用`python -m`。查阅了一些博客,发现了一篇不错的文章,已经下载过来。文中提到,Python 2.7的环境和Python 3之间有一些区别。

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

Python 3.7中,如何使用-m参数模块运行?


下面说下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



本文共计448个文字,预计阅读时间需要2分钟。

Python 3.7中,如何使用-m参数模块运行?

最近在查看Python代码的时候,发现了一种形式:即使用`python -m`。查阅了一些博客,发现了一篇不错的文章,已经下载过来。文中提到,Python 2.7的环境和Python 3之间有一些区别。

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

Python 3.7中,如何使用-m参数模块运行?


下面说下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