【python之路27】vars()包含的全局变量对象
213
一、.py文件里面包含全局变量
print(vars())输出结果如下:
{'__name__': '__main__',
'__doc__': None,
'__package__': None,
'__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000014BE5CBA470>,
'__spec__': None,
'__annotations__': {},
'__builtins__': <module 'builtins' (built-in)>,
'__file__': 'E:/python_code/2/13day/index.py',
'__cached__': None}
其中比较常用的是:
__doc__ 打印文件注释,.py文件中开头的三个引号中的内容
__file__ 打印当前py文件的全路径名称
__package__ 导入文件所在的包,即导入py文件所在的文件夹名,文件夹层级用.间隔,例如 lib.test
__cached__ python3中才有,缓存文件,导入文件执行的.pyc文件全路径
__name__ 如果是当前py文件运行则返回__main__,如果其他文件导入运行,则返回当前导入文件所在的文件夹路径
__builtins__ 内置函数是存放在__builtins__中


所以为防止导入模块后直接运行,可以用 __name__ == __main__ 进行判断:

二、利用__file__给sys.path中添加相对路径
1、相对路径可以把整体文件拷贝到任何目录运行
2、当文件名修改不影响添加的相对路径
#!usr/bin/env python
# -*- coding:utf-8 -*-
import sys,os
p1 = os.path.dirname(__file__) #__file__获取当前运行文件的路径,dirname是去掉.py文件后的路径
py_path = os.path.join(p1,'lib') #将去掉.py文件后的路径连接上lib,E:/python_code/2/day14\lib
sys.path.append(py_path) #将组合后的文件路径加入到sys.path列表中
from lib import fuc1
print(fuc1.f1())
【python之路27】vars()包含的全局变量对象的更多相关文章
- Python之路-函数基础&局部变量与全局变量&匿名函数&递归函数&高阶函数
一.函数的定义与调用 函数:组织好的.可重复使用的.用户实现单一或者关联功能的代码段.函数能够提高应用的模块性和代码的重复利用率.Python提供了很多内置的函数,比如len等等,另外也可以根据自己的 ...
- 百万年薪python之路 -- JS的BOM与DOM对象
BOM对象 location对象 location.href 获取URL location.href="URL" // 跳转到指定页面 location.reload() 重新加载 ...
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...
- Python之路第一课Day4--随堂笔记(迭代生成装饰器)
上节回顾: 1.集合 a.关系测试 b.去重 2.文件操作及编码 3.函数 4.局部变量和全局变量 上节回顾 本节课内容: 1.迭代器生成器 2.装饰器 3.json pickle数据序列化 4.软件 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- python之路,Day24 常用设计模式学习
python之路,Day24 常用设计模式学习 本节内容 设计模式介绍 设计模式分类 设计模式6大原则 1.设计模式介绍 设计模式(Design Patterns) --可复用面向对象软件的基础 ...
- Python之路,Day21 - 常用算法学习
Python之路,Day21 - 常用算法学习 本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的 ...
- Python之路,Day15 - Django适当进阶篇
Python之路,Day15 - Django适当进阶篇 本节内容 学员管理系统练习 Django ORM操作进阶 用户认证 Django练习小项目:学员管理系统设计开发 带着项目需求学习是最有趣 ...
- python 之路,Day11(上) - python mysql and ORM
python 之路,Day11 - python mysql and ORM 本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...
随机推荐
- css 图片波浪效果
参考:https://blog.csdn.net/zhichaosong/article/details/80944924#_99 效果: wave2.png html: <!DOCTYPE h ...
- 2019-8-31-dotnet-获取指定进程的输入命令行
title author date CreateTime categories dotnet 获取指定进程的输入命令行 lindexi 2019-08-31 16:55:58 +0800 2019-0 ...
- SG函数模板(洛谷2197nim游戏
#include <iostream> #include <cstdio> #include <queue> #include <algorithm> ...
- MAC地址获取,有线网卡与无线网卡、物理网卡与虚拟网卡的区分
获取当前活跃状态的网卡MAC地址.物理地址 Wmic命令:Win32_NetworkAdapter和Win32_NetworkAdapterConfiguration. 其中cmd命令行执行: 1. ...
- CentOS7服务器中apache、php7以及mysql5.7的安装配置代码
CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgradeyum install net-tools 安装apache (http://m.86822 ...
- Vue创建项目环境
目录 Vue项目环境搭建 Vue项目创建 pycharm配置并启动vue项目 vue项目目录结构分析 vue组件(.vue文件) 全局脚本文件main.js(项目入口) 改写 Vue项目环境搭建 &q ...
- RabbitMQ代码操作之AmqpAdmin和RabbitListener
AmqpAdmin:RabbitMQ系统管理功能组件(可以创建exchange,queue,Binding) @Test public void createExchange(){ //创建交换器 / ...
- 杂项-公司:Oracle
ylbtech-杂项-公司:Oracle 甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩.1989年正式进入中国市场.201 ...
- JS全局函数里面的一些区别
- enctype="multipart/form-data"的form传参
1.jsp <li class="btns"><input id="btnImport" class="btn btn-primar ...