珠玉在前:
https://code.visualstudio.com/docs/languages/python
https://blog.csdn.net/m0_37192554/article/details/83714975
http://www.cppcns.com/jiaoben/python/151875.html
关于常规插件
https://code.visualstudio.com/docs/languages/python
Other popular Python extensions#
1. Python插件 (vscode使用python的最基本插件:代码调试、提示、重构等等等)
https://marketplace.visualstudio.com/items?itemName=ms-python.python
2. Code Runner (支持多种语言,可以直接运行代码片段)
https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner
3. Visual Studio IntelliCode (为Python/Java/Javacript提供AI辅助开发特性,也有适用于C++/C#的版本)
https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode
https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.VSIntelliCode
4. Anaconda Extension Pack (增强anaconda用户在vscode上的体验)
https://marketplace.visualstudio.com/items?itemName=ms-python.anaconda-extension-pack
5. Jupyter (对jupyternotebook的支持)
关于Linting
YAFP:python格式化工具
http://www.cppcns.com/jiaoben/python/151875.html
pip install yapf
flake8:辅助检测Python代码是否规范(和pyLint一样是静态代码检测)
https://www.maixj.net/ict/flake8-19061
pip install flake8
文件/首选项/设置,搜索flake,在Python中使能flake8
关于调试
1. 用于监视的变量列表中的变量,可以通过F2进行重命名:
2. 保存变量,不至于重新启动后所有变量为空(类似于matlab)。
这样在调试阶段就可以只加载一次大容量文件,而后续测试只需要load保存好的变量就可以了,节省加载文件的时间。
参考:https://blog.csdn.net/lrs1353281004/article/details/81544490
2.1 使用dill库
安装:pip install dill
import dill
DATA_DIR = "data" # "../data" 已经在同一目录中了: data
Session_DIR = os.path.join(DATA_DIR,"globalsave.pkl")
Test = False # True
if Test:
try:
fld_xlsx = open_workbook(os.path.join(DATA_DIR, "a1.xlsx"), "rb")
# 保存变量
dill.dump_session(Session_DIR)
except BaseException as identifier:
print("打开异常:" + str(identifier))
else:
# 加载变量
dill.load_session(Session_DIR)
2.2 使用pickle库(实现数据的序列化和反序列化),保存某个或多个变量/对象
https://blog.csdn.net/lrs1353281004/article/details/81544490
https://www.jianshu.com/p/dcc2065091cc
https://www.cnblogs.com/pzxbc/archive/2012/03/18/2404715.html
pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去。
file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以'w'方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。
如果protocol>=1,文件对象需要是二进制模式打开的。
protocol为序列化使用的协议版本:
0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;
1:老式的二进制协议;
2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。
pickle.load(file) 注解:从file中读取一个字符串,并将它重构为原来的python对象。
file:类文件对象,有read()和readline()接口。
import dill
import pickle
import pprint
Session_DIR = os.path.join(DATA_DIR,"globalsave.pkl")
SingleVal_DIR = os.path.join(DATA_DIR,"fld_xlsx.pkl")
Test = False # True
if Test:
try:
fld_xlsx = open_workbook(os.path.join(DATA_DIR, "a1.xlsx"), "rb")
# 保存变量
# dill.dump_session(Session_DIR)
with open(SingleVal_DIR, 'wb') as f: # wb以二进制格式打开一个文件只用于写入
pickle.dump([fld_xlsx, SingleVal_DIR], f) # fd.close() # 务必
except BaseException as identifier:
print("打开异常:" + str(identifier))
else:
# 加载变量
# dill.load_session(Session_DIR)
try:
if(os.path.getsize(SingleVal_DIR) > 0):
with open(SingleVal_DIR, 'rb' ) as f_pkl: # rb以二进制格式打开一个文件用于只读(默认)
fld_xlsx, tt = pickle.load(f_pkl) # fd.close
pprint.pprint("文件大小为:{:d}".format(os.path.getsize(SingleVal_DIR)))
else:
pprint.pprint("文件大小为:{:d}".format(os.path.getsize(SingleVal_DIR)))
except BaseException as message: # EOFError
pprint.pprint(str(message))
2.3 使泳scipy保存数据为.mat格式
https://blog.csdn.net/weixin_40446557/article/details/88219673
关于Python库的使用和查询
Python学习笔记—常用库简介:https://blog.csdn.net/qq_38265137/article/details/78321129
Python常用库简介(持续更新):https://www.jianshu.com/p/04f398b32da1
Python标准库介绍:https://www.cnblogs.com/chengjian-physique/p/8563133.html
快捷键设置