当前位置: 首页 > 面试题库 >

-m开关的作用是什么?

皇甫智明
2023-03-14
问题内容

你能给我解释一下打电话之间有什么区别

python -m mymod1 mymod2.py args

python mymod1.py mymod2.py args

看来在这两种情况下mymod1.py被调用,sys.argv

['mymod1.py', 'mymod2.py', 'args']

那么,该-m开关的作用是什么?


问题答案:

PEP
338
Rationale部分的第一行说:

Python
2.4添加了命令行开关-m,以允许使用Python模块名称空间定位模块以作为脚本执行。激励性的示例是标准库模块,例如pdb和profile,而Python
2.4实现对于此有限目的是很好的。

因此,您可以通过这种方式在Python的搜索路径中指定任何模块,而不仅仅是当前目录中的文件。您是正确的,python mymod1.py mymod2.py args效果完全相同。本Scope of this proposal节的第一行指出:

在Python 2.4中,将执行使用-m定位的模块,就像在命令行中提供了其文件名一样。

还有-m更多的可能,例如使用作为包装一部分的模块等,这就是PEP 338其余部分的意义。阅读以获取更多信息。



 类似资料:
  • 问题内容: 我阅读了一些有关该关键字的文章,但无法弄清其正确用法。您能否告诉我在C#和Java中应该使用什么? 问题答案: 对于C#和Java,“ volatile”告诉编译器一个变量的值一定不能被缓存,因为它的值可能会在程序本身范围之外改变。然后,如果变量“超出其控制范围”更改,编译器将避免可能导致问题的任何优化。

  • SwiftUI教程使用关键字指示可变UI状态: 它提供了以下总结: 状态是一个值或一组值,可以随时间变化,并影响视图的行为、内容或布局。使用具有@State属性的属性将状态添加到视图。 这个关键词到底是什么意思? 如何改变一个变量导致视图被重新计算? 其他变量如何在getter中不可变?

  • 问题内容: 我在课堂上注意到很多。我做了一些阅读和浏览网络,但是找不到我能理解的解释。我只是从OOP开始。 我想知道是否有人可以给我一个大致的概念,然后再举一个简单的示例说明如何在PHP中使用它? 问题答案: 是在PHP5中引入的,它是定义您的构造函数的正确方法(在PHP4中,您将类的名称用作构造函数)。您无需在类中定义构造函数,但是如果希望在对象构造上传递任何参数,则需要一个。 一个例子可能是这

  • 本文向大家介绍@Autowired 的作用是什么?相关面试题,主要包含被问及@Autowired 的作用是什么?时的应答技巧和注意事项,需要的朋友参考一下 @Autowired 它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作,通过@Autowired 的使用来消除 set/get 方法。

  • 本文向大家介绍@RequestMapping 的作用是什么?相关面试题,主要包含被问及@RequestMapping 的作用是什么?时的应答技巧和注意事项,需要的朋友参考一下 将 http 请求映射到相应的类/方法上。

  • 问题内容: Python 3等效于什么? 问题答案: 从文档: 该模块已合并到Python 3.0中。将源转换为3.0时,2to3工具将自动适应导入。 因此,您的命令是,或者取决于您的安装,它可以是: