iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >[python]自问自答:python
  • 770
分享到

[python]自问自答:python

python 2023-01-31 01:01:03 770人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用。Python xxx.py和python -m xxx.py有什么区别! 自问自答: python xxx.py pytho

python -m xxx.py
作用是:把xxx.py文件当做模块启动
但是我一直不明白当做模块启动到底有什么用。Python xxx.py和python -m xxx.py有什么区别!
自问自答:
python xxx.py
python -m xxx.py
这是两种加载py文件的方式:
1叫做直接运行
2相当于import,叫做当做模块来启动
不同的加载py文件的方式,主要是影响——sys.path 这个属性。sys.path 就相当于liunx中的PATH。
下面来看一下sys.path
>>> import sys>>> sys.path
['', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',  
...]
上面的内容我只截取了一段。此为当前python解释器运行的环境,python解释器会在这些目录下去寻找依赖的库!
注解一点:‘’——为当前目录
***
下面有两个例子,通过不同方式启动同一文件,sys.path属性的值有何不同。
# run.py 内容如下import sysprint(sys.path)
# 直接启动:python run.pytest_import_project git:(master)  python run.py
['/Users/sx/Documents/note/test_py/test_import_project',  
 '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',  
  ...]
# 以模块方式启动:python -m run.pytest_import_project git:(master)  python -m run.py
['',  
 '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
*** 细心的同学会发现,区别就是在第一行。
直接启动是把run.py文件,所在的目录放到了sys.path属性中。
模块启动是把你输入命令的目录(也就是当前路径),放到了sys.path属性中***
在工作场景中有什么用呢?
# 目录结构如下package/
    __init__.py
    mod1.py
package2/
    __init__.py
    run.py  
# run.py 内容如下import sysfrom package import mod1print(sys.path)
如何才能启动run.py文件?
# 直接启动(失败)
  test_import_project git:(master)  python package2/run.pyTraceback (most recent call last):  File "package2/run.py", line 2, in <module>    from package import mod1ImportError: No module named package# 以模块方式启动(成功)
  test_import_project git:(master)  python -m package2.run
['','/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',...]
当需要启动的py文件引用了一个模块。你需要注意:在启动的时候需要考虑sys.path中有没有你import的模块的路径!
这个时候,到底是使用直接启动,还是以模块的启动?目的就是把import的那个模块的路径放到sys.path中。你是不是明白了呢?

来自:Http://www.cnblogs.com/softidea/p/5119923.html

--结束END--

本文标题: [python]自问自答:python

本文链接: https://www.lsjlt.com/news/184929.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • [python]自问自答:python
    python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用。python xxx.py和python -m xxx.py有什么区别! 自问自答: python xxx.py pytho...
    99+
    2023-01-31
    python
  • 如何利用ChatGPT和Python实现自动问答功能
    如何利用ChatGPT和Python实现自动问答功能引言:随着自然语言处理和人工智能的快速发展,自动问答系统成为各个领域中的热门应用之一。通过使用ChatGPT和Python,我们可以快速实现一个自动问答系统,从而提供高效的问答服务。本文将...
    99+
    2023-10-25
    ChatGPT - ChatGPT 自动问答 - Auto QA Python - Python编程
  • Python核心编程答案(自整理)
    2–10.带循环和条件判断的用户输入 使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。#!/usr/bin/e...
    99+
    2023-01-31
    核心 答案 Python
  • 利用Python开发一个自动答题程序
    目录环境使用模块使用自动答题思路步骤代码展示环境使用 Python 3.8 –> 解释器 <执行python代码> Pycharm –>...
    99+
    2023-02-03
    Python自动答题程序 Python自动答题 Python 答题
  • Python如何实现考试自动答题功能
    这篇文章主要介绍“Python如何实现考试自动答题功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何实现考试自动答题功能”文章能帮助大家解决问题。一、准备环境1)运行环境 ...
    99+
    2023-07-05
  • Python实现考试自动答题的脚本分享
    目录导语一、准备环境二、代码展示 三、效果展示导语 对于新手而言,掌握好方向盘的打法非常重要,关系到我们能否顺利通过驾考,拿到驾照。而开车时方向盘又是最重要的,握好方向盘等...
    99+
    2023-03-19
    Python实现考试自动答题 Python考试自动答题 Python自动答题
  • 【源码可分享】教你用Python制作自动答题脚本,实现自动答题,100%正确率!
    文章目录 前言一、自动答题的原理二、自动答题的步骤三、Python实现自动答题的方法总结 前言 当今社会,人们的生活越来越依赖于计算机技术,而Python作为一种高级编程语言,已经成为了...
    99+
    2023-08-31
    python 开发语言 网络爬虫 编程
  • python自动化测试面试题与答案有哪些
    本篇内容主要讲解“python自动化测试面试题与答案有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python自动化测试面试题与答案有哪些”吧!1、什么项目适合做自动化测试?关键字:不变的...
    99+
    2023-07-05
  • Python+Selenium实现自动填写问卷
    目录前提条件相关介绍实验环境填写问卷问卷地址获取Xpath主要思路代码实现输出结果前提条件 熟悉Python 熟悉HTML 熟悉Xpath 熟悉Selenium 相关介绍 Pytho...
    99+
    2024-04-02
  • Python 之vim编写python自
    Pydiction :vim - python自动补全插件插件的安装如下:1.下载插件包https://github.com/vim-scripts/Pydiction 可以直接下载,也可git下载 [root@localhost ~]# ...
    99+
    2023-01-31
    Python vim python
  • 面试官问你关于Python自然语言处理的数组问题,你能答得上来吗?
    Python自然语言处理是一种使用Python编程语言来处理和分析自然语言的方法。在面试中,你可能会遇到一些数组问题,这些问题需要你对Python和自然语言处理的理解有一个深入的了解。在本文中,我们将探讨一些常见的面试问题,以及如何使用Py...
    99+
    2023-10-31
    自然语言处理 面试 数组
  • 面试官问到 Spring,你是否能够自信地回答?Python 可以让你做到!
    在现代软件开发的世界中,Spring框架是一个广泛应用的Java框架,它提供了大量的库和工具,使得开发者可以更加高效地构建Web应用程序。在面试中,面试官经常会问到Spring框架相关的问题。如果你不熟悉Spring框架,你可能会失去机会。...
    99+
    2023-11-10
    响应 面试 spring
  • Python自学要点!
    1.python基础语法要扎实。 2.多实际动手练习,多练习题,比如Python处理文件,统计文件里的字符数,打印前十。 3.熟练运用python周边库。   Web:(flask、Django)   爬虫:  (request、pyqu...
    99+
    2023-01-30
    要点 Python
  • 如何系统地自学 Python?近5000人赞同了这个回答!
    是否非常想学好Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。Python的设计哲学之一就是简单易学...
    99+
    2023-06-04
  • 常见的25个python面试问答
    1.什么是Python?使用Python有什么好处?Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理。它简洁、简单、方便、容易扩展,有许多自带的数据结构,而且它开源。2.什么是PEP8?PEP8是一个编程规范,内容...
    99+
    2023-01-31
    问答 常见 python
  • Python实现问题回答小游戏
    目录读取问题绘制回答面板回答问题问题切换完整代码读取问题 如下所示,我们在文本中写了一个问题,然后将其读取出来。 “黄河远上白云间,一片孤城万仞山。”的作者是谁? 王之涣 李白 白...
    99+
    2024-04-02
  • python自学——集合
    #皇城根儿#集合:是无序的、不重复的;1、去重;2、关系测试#创建集合#创建数字集合number=set([1,3,5,7,9]) #数字型集合str_type=set(["im","is","are"])#字符串集合#列表转换成集合lis...
    99+
    2023-01-30
    python
  • python自测100题
    如果你在寻找python工作,那你的面试可能会涉及Python相关的问题。通过对网络资料的收集整理,本文列出了100道python的面试题以及答案,你可以根据需求阅读测试。python基础Q1.什么是Python?Python是一种面向对象...
    99+
    2023-01-31
    python
  • python 自动补全
    cd ~/.vim/bundle  git clone https://github.com/rkulla/pydiction.git  cp -r pydiction/after ~/.vim...
    99+
    2023-01-31
    python
  • Python 自动化运维1-Python
    Python安装1.下载Python2.7源安装包:  wgethttps://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz2.解压安装包:  tar -zxvf Python-...
    99+
    2023-01-31
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作