我的编程空间,编程开发者的网络收藏夹
学习永远不晚

[python]自问自答:python

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

[python]自问自答:python

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

[python]自问自答:python

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

下载Word文档

猜你喜欢

[python]自问自答:python

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

如何利用ChatGPT和Python实现自动问答功能

如何利用ChatGPT和Python实现自动问答功能引言:随着自然语言处理和人工智能的快速发展,自动问答系统成为各个领域中的热门应用之一。通过使用ChatGPT和Python,我们可以快速实现一个自动问答系统,从而提供高效的问答服务。本文将
2023-10-25

Python核心编程答案(自整理)

2–10.带循环和条件判断的用户输入 使用raw_input()函数来提示用户输入一个1和100之间的数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。#!/usr/bin/e
2023-01-31

Python如何实现考试自动答题功能

这篇文章主要介绍“Python如何实现考试自动答题功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何实现考试自动答题功能”文章能帮助大家解决问题。一、准备环境1)运行环境 开发环境
2023-07-05

利用Python开发一个自动答题程序

这篇文章主要为大家详细介绍了如何利用Python开发一个自动答题程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
2023-02-03

Python实现考试自动答题的脚本分享

最近这段时间天气正正好,不冷不热,是学习考驾照的好时机。为了帮助大家能够顺利获得驾照,小编为大家准备了驾照考试的自动答题小程序,希望对大家有所帮助
2023-03-19

python自动化测试面试题与答案有哪些

本篇内容主要讲解“python自动化测试面试题与答案有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python自动化测试面试题与答案有哪些”吧!1、什么项目适合做自动化测试?关键字:不变的
2023-07-05

python利用opencv如何实现答题卡自动判卷

目录1、设定答题卡模板2、读取答题卡图像并对图像进行灰度化处理3、高斯模糊图像去噪点4、使用大津法二值分割图像5、使用开运算去噪点6、使用canny边缘检测算法7、筛选答题区域轮廓,透视变换矫正目标区域使用摄像头实时判卷部分总结1、设定答题
2022-06-02

Python 之vim编写python自

Pydiction :vim - python自动补全插件插件的安装如下:1.下载插件包https://github.com/vim-scripts/Pydiction可以直接下载,也可git下载[root@localhost ~]# mk
2023-01-31

python自测100题

如果你在寻找python工作,那你的面试可能会涉及Python相关的问题。通过对网络资料的收集整理,本文列出了100道python的面试题以及答案,你可以根据需求阅读测试。python基础Q1.什么是Python?Python是一种面向对象
2023-01-31

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-
2023-01-31

Python自学要点!

1.python基础语法要扎实。2.多实际动手练习,多练习题,比如Python处理文件,统计文件里的字符数,打印前十。3.熟练运用python周边库。  Web:(flask、Django)  爬虫:  (request、pyquery) 
2023-01-30

python自学——集合

#皇城根儿#集合:是无序的、不重复的;1、去重;2、关系测试#创建集合#创建数字集合number=set([1,3,5,7,9]) #数字型集合str_type=set(["im","is","are"])#字符串集合#列表转换成集合lis
2023-01-30

python 自动补全

cd ~/.vim/bundle git clone https://github.com/rkulla/pydiction.git cp -r pydiction/after ~/.vim
2023-01-31

如何系统地自学 Python?近5000人赞同了这个回答!

是否非常想学好Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓?幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。Python的设计哲学之一就是简单易
2023-06-04

自学python:完整入门python书

小伙伴总在询问Python的书,哎呀,动力所致,书单来了。9本,涵盖范围蛮大的。Python热持续中,入门计算机首选语言。。。1、《父与子的编程之旅》关注威信工宗号:程序员大牛,即可领取十套精品书籍。作者:Warren Sande Cart
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录