from os import path
import os
path.dirname(__file__) #返回当前文件所在的目录
#当前文件的路径
pwd = os.getcwd()
#当前文件的父路径
father_path=os.path.abspath(os.path.dirname(pwd)+os.path.sep+".")
#当前文件的前两级目录
grand_father=os.path.abspath(os.path.dirname(pwd)+os.path.sep+"..")
sys.modules中保存的是已经被导入过的模块
import A
1. 判断A模块是否已经被导入到sys.modules中了,如果已经被导入了就不再导入,而是直接使用该模块对象
2. 如果A模块没有被导入到sys.modules中,python解释器就去sys.path中去搜索,如果没有找到,则抛出异常.
3. 如果导入成功会根据模块文件A.py创建一个模块对象(和模块名一样)
4. 把模块对象的名字添加到本地作用域中(使用locals查看本地作用域的所有名字)
Reload:重新加载模块,对模块对象添加新属性(将新的属性添加到原有对象)
from A import B
1. 判断A模块是否已经被导入过了, 如果已经被导入了就不再导入而直接使用对象的属性
2. 如果没有找到 python就是去 sys.path 搜索 <创建空对象《和模块名是同名的》>,如果没有到 抛出异常
3. 根据模块文件A.py 导入到python解释器中 根据模块文件往对象中新增对应的属性
4. 把模块对象的属性名 添加到本地作用域
查看本地作用域的所有名字<本地名字空间> locals()
2. 在module的顶部引入, 不要用from; 使用绝对引入
在module的顶部import,使用从package开始的绝对路径,如import package.another_module,module 中的函数以package.another_module.attribute的方式引用another_module中的函数或变量等。之所以要挂上package name来引入,是由于import .another_module这种形式的“相对引入”会报语法错误,而挂上package的绝对引入,Python 2和3都支持
urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典
如果您只想读取或写入文件,请参阅open(),
如果要操作路径,请参阅os.path模块,
如果要读取命令行上所有文件中的所有行,请参阅fileinput 模块。
有关创建临时文件和目录的信息,请参阅tempfile 模块,
有关高级文件和目录的处理,请参阅shutil 模块。
python3 创建虚拟环境
进入工作目录
python3 -m venv venv
激活环境
. venv/bin/activate
shell提示符将更改为显示激活环境的名称
在激活的环境中,使用以下命令安装Flask:
pip install Flask
获取当前文件所在目录
# metadata数据读取
pa = os.path.dirname(os.path.realpath(__file__))
Django只有请求header中的'Content-Type':'application/x-www-form-urlencoded'才会填充request.POST,其它情况下只有一个空的<QueryDict: {}>
默认本地启动的服务只能在本地访问,其他计算机无法访问,
但是可以通过监听0.0.0.0实现任意地方访问该服务
app.run(host='0.0.0.0')这会让操作系统监听所有公网 IP
网友评论