Python第八天 模块 包 全局变量和内置变量__name__ Python path
Python第八天 模块 包 全局变量和内置变量__name__ Python path
目录
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化
Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典
Python第四天 流程控制 if else条件判断 for循环 while循环
Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数
Python第七天 函数 函数参数 函数变量 函数返回值 多类型传值 冗余参数 函数递归调用 匿名函数 内置函数 列表表达式/列表重写
Python第八天 模块 包 全局变量和内置变量__name__ Python path
Python第九天 面向对象 类定义 类的属性 类的方法 内部类 垃圾回收机制 类的继承 装饰器
Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 标准错误 重定向 输出流和输入流
Python第十二天 收集主机信息 正则表达式 无名分组 有名分组
Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
模块
模块是Python组织代码的基本方式。
一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)。
所有的.py文件都可以作为一个模块导入
模块名与脚本的文件名相同
模块是一个可以导入的Python脚本文件
例如我们编写了一个名为hello.py的脚本,则可以在另一个脚本中用import hello语句来导入它。
模块名不能以数字命名,比如1.py,用数字命名在py脚本里导入模块的时候会报错
------------------------------------------------------------
包
Python的模块可以按目录组织为包
创建一个包的步骤:
- 创建一个名字为包名的目录
- 在该目录下创建一个__init__.py文件,此文件可以存放包的信息
- 根据需要,在该目录下存放脚本文件或已编译的扩展及子包
- 使用的时候,在脚本头部 只导入模块: 包名.模块名,也可以整个包导入
import pack.m1, pack.m2, pack.m3
import pack
day04:包名
wc:模块名
wordCount:函数名
from day04 import wc
或
import day04.wc
或
from day04.wc import wordCount
或
from day04.wc import wordCount as wc123 给函数/模块起一个别名,别名为wc123
导入模块和包的语法:
- import , import as
- from … import …
- from … import … as
------------------------------------------------------------
全局变量__name__
脚本名:test1.py
vi test1.py
if __name__ == '__main__': print 'a' if __name__ == 'test1': print 'b'
vi test2.py
import test1
python test2.py:会输出 b,不会输出a
__name__是python的内置变量,它有两个值:'__main__'或者模块名。
它的值为’__main__'时表示当前模块(即python脚本)是被直接执行,如果模块被其他文件导入时,__name__的值为模块名字。
------------------------------------------------------------
python环境变量
Python path
python解释器通过sys.path去一个地方一个地方的寻找模块,跟linux的$PATH环境变量不是同一个东西
得到python的path环境变量,类似shell的$PATH
import sys
sys.path
sys.path
['',
'/usr/bin',
'/usr/lib64/python26.zip',
'/usr/lib64/python2.6',
'/usr/lib64/python2.6/plat-linux2',
'/usr/lib64/python2.6/lib-tk',
'/usr/lib64/python2.6/lib-old',
'/usr/lib64/python2.6/lib-dynload',
'/usr/lib64/python2.6/site-packages',
'/usr/lib/python2.6/site-packages',
'/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info',
'/usr/lib/python2.6/site-packages/IPython/extensions',
'/home/yonghualin/.ipython']
第一种方法
添加路径到Python PATH环境变量
sys.path.append('/root/ss')
第二种方法
PYTHONPATH变量是shell下定义,会自动添加到sys.path列表里
在/etc/profile里
export PYTHONPATH=/root/test
export PATH=$PATH:/usr/local/mysql/bin/
Python 获取当前python文件所在目录
方法1:
import os
import sys
print(os.path.abspath('main.py'))
os.path.abspath('../a/t.py')
#/home/lmx/a/t.py
判断路径是绝对路径还是相对路径
print os.path.isabs('.')
方法2:
import os
import sys
print(sys.path[0])
方法1如果当前目录切换到其他目录,就无法获取到当前python文件所在目录,建议使用方法2
示例程序
wc.py #!/usr/bin/python def wordCount(s): chars=len(s) words=len(s.split()) lines=s.count('\n')+1 print lines,words,chars print s.split() if __name__ == '__main__': --->内置变量__name__ ,得出的值为 '__main__' s= open('/etc/passwd').read() wordCount(s) ------------------------------------- test.py #!/usr/bin/python import wc s="""hello world python""" wc.wordCount(s)
Python第八天 模块 包 全局变量和内置变量__name__ Python path的更多相关文章
- Python - 常用内置变量
直接上代码 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 这是注释__doc__会打印这部分内容 "&qu ...
- nginx应用场景,特性,目录结构,常用模块,内置变量,URL和URI,http状态码,配置文件详解
1.nginx介绍 1丶俄罗斯人开发的,开源www服务软件 2丶软件一共780K 3丶nginx本身是一款静态(html,js,css,jpg等)www软件 4丶静态小文件高并发,同时占用的资源很少, ...
- Python-组织结构-目录结构、包导入、__init__文件、模块内置变量、* 导入限制
__pycache__ .pyc文件,中间代码,提升python运行效率 目录 分档和归类 Python项目组织结构 包 模块 类 函数.变量 # 层级依次往下都是一对多关系 Python项目目录结构 ...
- python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性
python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性 inspect import inspect def fun(): pass inspect.ism ...
- Python模块(导入,内置,自定义,开源)
目录: 模块介绍 自定义模块 内置模块 开源模块 一.模块 1.模块简介 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用p ...
- Python每日一练------内置函数+内置变量+内置模块
1.内置函数 Python所有的内置函数 Built-in Functions abs() divmod() input() open() staticmethod() all() e ...
- Nginx核心模块内置变量
本文根据Nginx官网整理了Nginx的ngx_http_core_module模块的内置变量,可与Apache做对比参考.随后做了一次测试观察各变量的值,并附上测试结果. 1.变量列表 $arg_n ...
- nginx之echo模块与内置变量
Nginx扩展第三方模块——echo 第三方模块是对nginx的功能扩展,第三方模块需要在编译nginx的时候使用参数--add-module=PATH指定扩展模块的源码包路径给Nginx扩展添加ec ...
- len(x) 击败 x.len(),从内置函数看 Python 的设计思想
内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...
随机推荐
- [Swift]LeetCode481. 神奇字符串 | Magical String
A magical string S consists of only '1' and '2' and obeys the following rules: The string S is magic ...
- [Swift]LeetCode753. 破解保险箱 | Cracking the Safe
There is a box protected by a password. The password is n digits, where each letter can be one of th ...
- oracle 合并多个sys_refcursor
一.背景 在数据开发中,有时你需要合并两个动态游标sys_refcursor. 开发一个存储过程PROC_A,这个过程业务逻辑相当复杂,代码篇幅较长.一段时间后要开发一个PROC_B,要用PROC_A ...
- 值得收藏的Mybatis通用Mapper使用大全。
引言 由于小编的记性不太好,每次在写代码的时候总是把通用mapper的方法记错,所以今天把通用mapper的常用方法做一下总结,方便以后直接查看.好了,不废话啦. 引包 <!-- 通用Mappe ...
- MySQL将utf8字符集改为utf8mb4
前言 今天在查看tomcat日志时发现了一个错误:Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82\xF0 ...
- Python内置函数(56)——set
英文文档: class set([iterable]) Return a new set object, optionally with elements taken from iterable. s ...
- Openssh版本升级修复漏洞
一.由于openssh版本过低当用扫描软件检测时会出现以下漏洞: 二.解决方案是升级高版本,下面是升级的步凑. 1.安装telnet工具,因为升级过程中怕失败或者重启ssh失败.我们直接yun安装即可 ...
- Solr 08 - 在Solr Web管理页面中查询索引数据 (Solr中各类查询参数的使用方法)
目录 1 Solr管理页面的查询入口 2 Solr查询输入框简介 3 Solr管理页面的查询方案 1 Solr管理页面的查询入口 选中需要查询的SolrCore, 然后在菜单栏选择[Query]: 2 ...
- ASP.NET Core DI 手动获取注入对象
ASP.NET Core DI 一般使用构造函数注入获取对象,比如在ConfigureServices配置注入后,通过下面方式获取: private IValueService _valueServi ...
- Spring Boot 路由
多路由指向同一个方法 @GetMapping(value = {"/login","/index"}) 访问http://127.0.0.1/index 和 h ...