【python之路27】vars()包含的全局变量对象
2024-10-07 23:26:28
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())
最新文章
- Oracle基本查询语言
- babel 配置探究及错误解析
- mysql my.cnf配置文件详解
- x264中I,P,B帧和PTS,DTS的关系
- API
- web开发中的 emmet 效率提升工具
- hdu 2255 奔小康赚大钱--KM算法模板
- 转: html表单中get方式和post方式的区别
- JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能
- [div+css布局]命名规则
- Java注意的地方
- (转)Ehcache作为分布式缓存的研究
- POJ 1179 IOI1998 Polygon
- session绑定javaBean
- php的一些小笔记--字符串
- 在Struts2中使用poi进行excel操作下载的时候报getOutputStream() has already been called for this response 错误 [转]
- 纯代码 自己主动屏幕适配iPhone button
- 本地idea调试spark2.x程序
- list不是模板
- 爬虫_糗事百科(scrapy)
热门文章
- spring中依赖注入
- Codeforces Round #479 (Div. 3) 题解 977A 977B 977C 977D 977E 977F
- Leetcode92. Reverse Linked List II反转链表
- 【BZOJ3944】Sum
- leetcode-105-从前序与中序遍历构造二叉树
- [JZOJ4633] 【GDOI2017模拟7.15】萌萌哒
- Apache添加多端口及实现单ip多端口映射的方法
- Python基础笔记_Number类型
- C语言利用动态数组实现顺序表(不限数据类型)
- 洛谷P3376【模板】网络最大流 Dinic模板