一、 ubuntu
1.Ubuntu anaconda 换源
vim ~/.condarc
channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
2.linux 默认自带 vi, 一般使用升级版 vim,第一次使用需要安装vim
sudo apt install vim
3.conda创建新环境
conda create -n yourname python=3.6.5
conda create -n pose2pose python=3.5.3
conda create -n web python=3.7
激活
source activate yourname
删除虚拟环境。
使用命令conda remove -n your_env_name(虚拟环境名称) --all
, 即可删除。
eg:conda remove -n dance --all
4.ubuntu安装 pytorch
conda install pytorch=0.4.1 cuda90 -c pytorch
https://pytorch.org/get-started/previous-versions/
5.ubuntu容器中python -V和python -v的不同
查看版本号的命令为python --version,可简写为python -V,但是一直查看不成功,搜索后得知,是因为大小写敏感。
python -V为查看版本号并返回到ubuntu的容器命令行
python -v并不是简单的展示版本和模块,而是以一种载入模块信息的形式(import)启动 python 或进入 python 环境
这里又与直接python进入不一样,用ctrl+D或者exit()退出时会自动运行cleanup清除刚才加载的模块信息。(注意exit不能直接退出,需加括号调用相关方法)
二、windows
1. win10磁盘如何解锁bitlocker,解决分区助手无法调整分区问题
https://blog.csdn.net/lemea/article/details/90713778
2. 磁盘分区
分区助手(免费):https://www.disktool.cn/
怎么分配自由空间(空闲空间)给其他分区?https://www.disktool.cn/jiaocheng/allocate-free-space.html
3. 电源设置
4.如何关闭Windows10的自动更新?
那么如何关闭这个Windows10系统的自动更新程序呢?
①:使用快捷键Win+R,打开运行
②:输入命令:services.msc,打开系统服务界面
③:按确定之后,我们打开系统服务界面,找到【Windows Update】
④:鼠标右击找到进入属性
把启动类型更改为:禁用
三、工具
1. typora字体设置颜色的解决方案
https://blog.csdn.net/superit401/article/details/106344453
https://www.zhihu.com/question/385854845
安装软件AutoHotKey(较简单)
AutoHotKey是一款著名的windows系统快捷键设置的软件,轻便小巧。
官方下载: https://autohotkey.com/download/ahk-install.exe
(1)先安装AutoHotKey
(2)打开记事本,把如下内容复制粘贴进去:
; Typora ; 快捷增加字体颜色 ; SendInput {Text} 解决中文输入法问题 #IfWinActive ahk_exe Typora.exe { ; Ctrl+Alt+O 橙色 ^!o::addFontColor("orange") ; Ctrl+Alt+R 红色 ^!r::addFontColor("red") ; Ctrl+Alt+B 浅蓝色 ^!b::addFontColor("cornflowerblue") } ; 快捷增加字体颜色 addFontColor(color){ clipboard := "" ; 清空剪切板 Send {ctrl down}c{ctrl up} ; 复制 SendInput {TEXT}<font color='%color%'> SendInput {ctrl down}v{ctrl up} ; 粘贴 If(clipboard = ""){ SendInput {TEXT}</font> ; Typora 在这不会自动补充 }else{ SendInput {TEXT}</ ; Typora中自动补全标签 } }
(3)将文件保存为ahk后缀的文件,如TyporaHotKey.ahk
(4)双击运行
(5)在Typora软件里就可以使用快捷键:
如按Ctrl+Alt+O
添加橙色,Ctrl+Alt+R 红色,按Ctrl+\
取消样式!
也可以右键 MyHotkeyScript.ahk
脚本文件,点击Compile Script
编译脚本成exe
程序,就可以不用下载Autohotkey
在其他电脑上运行了。
- 其他颜色
; alt+0 红色 !0::addFontColor("black") ; alt+1 红色 !1::addFontColor("red") ; alt+1 橙色 !2::addFontColor("orange") ; alt+3 黄色 !3::addFontColor("yellow") ; alt+4 绿色 !4::addFontColor("green") ; alt+5 浅蓝色 !5::addFontColor("cornflowerblue") ; alt+6 青色 !6::addFontColor("cyan") ; alt+7 紫色 !7::addFontColor("purple")
2. Typora快捷键
http://www.manongjc.com/article/77324.html
一:菜单栏
- 文件:alt+F
- 编辑:alt+E
- 段落:alt+P
- 格式:alt+O
- 视图:alt+V
- 主题:alt+T
- 帮助:alt+H
二:文件
- 新建:Ctrl+N
- 新建窗口:Ctrl+Shift+N
- 打开:Ctrl+O
- 快速打开:Ctrl+P
- 保存:Ctrl+S
- 另存为:Ctrl+Shift+S
- 偏好:Ctrl+,
- 关闭:Ctrl+W
三:编辑
- 撤销:Ctrl+Z
- 重做:Ctrl+Y
- 剪切:Ctrl+X
- 复制:Ctrl+C
- 粘贴:Ctrl+V
- 复制为MarkDown:Ctrl+Shift+C
- 粘贴为纯文本:Ctrl+Shift+V
- 全选:Ctrl+A
- 选中当前行/句:Ctrl+L
- 选中当前格式文本:Ctrl+E
- 选中当前词:Ctrl+D
- 跳转到文首:Ctrl+Home
- 跳转到所选内容:Ctrl+J
- 跳转到文末:Ctrl+End
- 查找:Ctrl+F
- 查找下一个:F3
- 查找上一个:Shift+F3
- 替换:Ctrl+H
四:段落
- 标题:Ctrl+1/2/3/4/5
- 段落:Ctrl+0
- 增大标题级别:Ctrl+=
- 减少标题级别:Ctrl±
- 表格:Ctrl+T
- 代码块:Ctrl+Shift+K
- 公式块:Ctrl+Shift+M
- 引用:Ctrl+Shift+Q
- 有序列表:Ctrl+Shift+[
- 无序列表:Ctrl+Shift+]
- 增加缩进:Ctrl+]
- 减少缩进:Ctrl+[
五:格式
- 加粗:Ctrl+B
- 斜体:Ctrl+I
- 下划线:Ctrl+U
- 代码:Ctrl+Shift+`
- 删除线:Alt+Shift+5
- 超链接:Ctrl+K
- 图像:Ctrl+Shift+I
- 清除样式:Ctrl+
六:视图
- 显示隐藏侧边栏:Ctrl+Shift+L
- 大纲视图:Ctrl+Shift+1
- 文档列表视图:Ctrl+Shift+2
- 文件树视图:Ctrl+Shift+3
- 源代码模式:Ctrl+/
- 专注模式:F8
- 打字机模式:F9
- 切换全屏:F11
- 实际大小:Ctrl+Shift+0
- 放大:Ctrl+Shift+=
- 缩小:Ctrl+Shift±
- 应用内窗口切换:Ctrl+Tab
- 打开DevTools:Shift+F12
3. Typora快捷键 图片
4. UnavailableInvalidChannel: The channel is not accessible or is invalid.
channel name: simple
channel url: https://pypi.python.org/simple
error code: 404
You will need to adjust your conda configuration to proceed.
Use conda config --show channels
to view your configuration’s current state,
and use conda config --show-sources
to view config file locations.
5. windows Anaconda
https://www.pythonheidong.com/blog/article/368441/ef26704dfb8f2e0668c1
https://www.wangjiaqingll.com/2021/01/24/conda%E6%8D%A2%E6%BA%90/
Anaconda的安装、换源和使用
https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
先查看已经安装过的镜像源
conda config --show 或者 conda config --show channels 或者 conda config --show-sources
删除源
conda config --remove channels url地址
换回默认源
conda config --remove-key channels
6. Typora换行如何取消空行
https://blog.csdn.net/UnableJOE/article/details/120028439
按 shift + 回车 ,就不会有空行了。
如果直接按下 回车 后,行与行之间会有空行,
7、Ubuntu安装VMware Tools
https://blog.csdn.net/weixin_47289556/article/details/122076945
8 VS资源视图
9、设置MFC窗口永远处于最前
10、c++ - 如何编辑格式设置以增加换行长度?
https://www.coder.work/article/3233292
五、服务器、网站等
1. 访问网站不显示
重启服务器解决
六、python
1.使用Anconda批量安装Pythony库
(依赖包)的方法
2.conda 安装指定版本包
conda install numpy=1.9.3
3.安装pytorch的GPU版本https://pytorch.org/
这个对应3.5-3.7,我下的3.6 python
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
教程:https://blog.csdn.net/weixin_43848614/article/details/117221384
B站唐宇迪:https://www.bilibili.com/video/BV1nV41177ko?p=1
- Pytorch | 版本对应:https://blog.csdn.net/weixin_43360896/article/details/116333560
- Pytorch和Torchvision、python版本对应:https://blog.csdn.net/qq_40263477/article/details/106577790
- Pytorch版本、CUDA版本与显卡驱动版本的对应关系:https://blog.csdn.net/kellyroslyn/article/details/109668001
4.conda 按照指定源下载python包
根据提示,用上面的命令安装包 conda install --channel https://conda.anaconda.org/mwojcikowski cudatoolkit 或者: conda install -c https://conda.anaconda.org/mwojcikowski cudatoolkit
pip install 包名 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
1)http://mirrors.aliyun.com/pypi/simple/ 阿里云
2)https://pypi.mirrors.ustc.edu.cn/simple/ 中国科技大学
\3) http://pypi.douban.com/simple/ 豆瓣
\4) https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学
\5) http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
conda的安装与使用https://www.jianshu.com/p/edaa744ea47d
清华大学: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
北京外国语大学: https://mirrors.bfsu.edu.cn/help/anaconda/
南京邮电大学: https://mirrors.njupt.edu.cn/
南京大学: http://mirrors.nju.edu.cn/
重庆邮电大学: http://mirror.cqupt.edu.cn/
上海交通大学: https://mirror.sjtu.edu.cn/
哈尔滨工业大学: http://mirrors.hit.edu.cn/#/home
(目测哈工大的镜像同步的是最勤最新的)
5.[autopep8]Error loading library for python:
ModuleNotFoundErrorNo module named ‘autopep8’
Check that the appropriate library/module is correctly installed(read autopep8’s documentation for details)
解决:https://www.codeleading.com/article/56443758046/
说明:在使用jupyternotebook过程中,在Nbextensions中勾选了autopep8,但是在notebook中点击autopep8的插件按钮,报了:name 'autopep8' is not defined
的错。
解决:使用autopep8需要单独下载。利用pip或者conda下载即可。
conda install autopep8
6.elecV2P安装教程:
elecV2P github地址:https://github.com/elecV2/elecV2P
elecV2P 使用说明:https://github.com/elecV2/elecV2P-dei/tree/master/docs
梯度下降
7.关于python中的args和kwargs
8.python下的目录表示
与Linux系统中一样:
. 代表当前所在目录
… 代表当前所在目录的父目录
./ 代表当前所在目录下的某个文件夹或文件
…/ 代表当前所在目录的父目录下的某个文件夹或文件
9.Compressed file ended before the end-of-stream marker was reached
遇到这个问题是因为数据集下载失败或者之前下载过但下载中断过。我下载的是fashion_mnist.
只要找到我们下载的数据集删除即可,如果在anaconda\Lib\site-packages\tensorflow\python\keras\datasets目录下并没有下载的数据集,那么可以直接去搜索删除。
10. DataLoaders
在PyTorch数据集中,你通常在dataloader上迭代。你的第一个尝试可能是索引train_loader。
# TypeError: 'DataLoader' object does not support indexing first_batch = train_loader[0]
你会立即看到一个错误,因为DataLoaders希望支持网络流和其他不需要索引的场景。所以没有__getitem__
方法,这导致了[0]
操作失败,然后你会尝试将其转换为list,这样就可以支持索引。
# slow, wasteful first_batch = list(train_loader)[0]
11. Script file ‘D:\Users\86155\AppData\Local\Programs\Python\anaconda3\Scripts\pip-script.py’ is not present.
这个情况多半是自己在更新pip的时候中断了,导致执行了卸载操作,但是没有正常安装。所以这个报错的意思就是pip没有这玩意
但是python有一个低级的安装工具easy_install可以安装pip
只需要执行esay_install pip
但是多半因为esay_pip源的原因下载很慢只有几K
12. 安装特定版本的包
conda用“=”,pip用“==”
conda install numpy=1.93 pip install numpy==1.93
13. anaconda中conda和pip安装路径有何不同
https://www.jianshu.com/p/108baed57d5c
首先通过pip freeze命令查看使用pip安装的软件列表,而后再次安装一个已经安装的包,会提示已经安装并且将路径告知你。
首先我们在base(默认)环境下测试,如下图所示:
base(默认)环境下pip安装路径
显然,base环境下pip的安装路径是在base的共享环境下的,即其他环境可以共用
然后我们切换到其他虚拟环境,比如tensflow:
tensflow环境下pip安装路径
显然tensflow环境下pip的安装路径也在tensflow环境的目录下。
但是如果把tensflow环境下的pip工具删除,那么就会调用base环境下的pip,这时候下载包的路径就是在base环境下,并且所有环境共享
14.关于anaconda的安装
*命令行启动anaconda* >>anaconda-navigator
15. 卸载anaconda
16. .idea, pycache
- .idea文件夹:(隐藏文件夹可在finder中shift+command+.查看隐藏)当使用pycharm作为IDE时,会自动生成
.idea/
文件夹来存放项目的配置信息。其中包括版本控制信息、历史记录等等。删除这个文件夹的唯一影响是不能回溯了 - pycache:存放python解释器编译的字节码,后续再运行,没改变代码时直接运行加快速度。删除这个文件夹的唯一影响是运行代码都以第一次加载速度运行
17. wordcloud安装方法(Windows10)
方法一:
https://pypi.org/project/wordcloud/
pip install wordcloud
方法二:轮子安装
参考:https://blog.csdn.net/weixin_45231460/article/details/104273699
Python Extension Packages for Windows - Christoph Gohlke
到上面的网址找到需要下载的Wordcloud库的whl文件。注意要对应自己的python版本。我的版本是python3.6.8,找到对应的cp36下载。
查看python版本命令: python -V 如图:
找到下载成功的文件,剪贴/复制到python解释器的安装目录
E:\Python3.6.8\Scripts 中(这是我的安装目录)。
查看python解释器目录的方法: where python
然后执行命令 pip install 目录名+文件名即可(请用户根据自己的目录位置填写)
我的:
18. 安装jieba
插入一条: 有个更快安装下载jieba的方法,用镜像下载,非常快,2秒就行
pip install jieba -i https://pypi.douban.com/simple/
19. 将flask项目部署到服务器
https://www.shenlin.ink/server/302.html
圈红位置的状态,应该是“已暂停”标识,这个不要着急,我们项目配置完成后,需要通过域名来访问。域名的设定可以通过映射来实现。点击映射,输入已经解析的域名。
20. 生成requirements.txt问文件
- pip freeze >requirements.txt
进入你的项目根目录,使用命令把项目依赖包导出到项目根目录。
pip freeze >requirements.txt pip list --format=freeze > requirements.txt https://blog.csdn.net/qq_46343832/article/details/123163144
参考:https://www.cnblogs.com/wintest/p/12813246.html
pipreqs D:\pycharm\Code\flaskDemo --encoding=utf-8
pipreqs ./ --encoding=utf-8
下载:
pip install -r requirements.txt
- 注意:坑,使用 pipreqs 生成的equirements.txt有时候并不准确
21. Linux中如何解除端口占用
https://blog.csdn.net/zhu_xun/article/details/16823577
1.查看8080端口是否被占用:
netstat -anp | grep 8080
输出结果:tcp 0 0 :::8080 ::😗 LISTEN 3000/java
由上可知8080端口已经被开启。
2.查看占用8080端口的进程:
fuser -v -n tcp 8080
输出结果:
USER PID ACCESS COMMAND 8080/tcp: zhu 1154 F.... java
3.杀死占用8080端口的进程:
kill -s 9 1154(自己的进程号).
4.查看所有进程:
ps
输出结果:
PID TTY TIME CMD
2949 pts/1 00:00:00 bash
3037 pts/1 00:00:00 ps
这是便可发现1154进程已经不存在了
22. python 项目管理器状态 已暂停
重装python项目管理器 解决
25. jieba的使用
默认是 精确模式分词
>>> import jieba >>> content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作" >>> jieba.cut(content, cut_all=False) # cut_all默认为False
26. 怎么用 pytorch 查看 GPU 信息
In [1]: import torch In [2]: torch.cuda.current_device() Out[2]: 0 In [3]: torch.cuda.device(0) Out[3]: <torch.cuda.device at 0x7efce0b03be0> In [4]: torch.cuda.device_count() Out[4]: 1 In [5]: torch.cuda.get_device_name(0) Out[5]: 'GeForce GTX 950M' In [6]: torch.cuda.is_available() Out[6]: True torch.version.cuda
27. Windows系统下安装多个版本cuda、cudnn,以及切换使用
方法一
- 哪个版本不用时,就把那个环境变量中的path路径改为非实际路径,比如v9.0改为v9.0.111
- 需要用的版本,就在环境变量中将CUDA_PATH,NVCUDASAMPLES_ROOT改成对应的路径
方法二
- 在需要使用的工具中,创建不同的虚拟环境。比如使用tensorflow框架过程中,那就创建两个不同的虚拟环境,分别安装两个版本的tensorflow,tensorflow会根据自身版本的需求找到对应的cuda版本。在需要使用哪个版本时,激活那个虚拟环境就行。
- 怎么创建虚拟环境?可以参考这篇博客Python如何实现虚拟环境的创建?
28. cuda安装教程+cudnn安装教程
https://blog.csdn.net/sinat_23619409/article/details/84202651
29. opencv 安装过程
https://www.cnblogs.com/benjaminblog/p/12727115.html
30. 相对路径
31.安装 pycocotools
pip install pycocotools
https://pypi.org/project/pycocotools/#modal-close
32. Jupyter 使用多个conda虚拟环境
conda install ipykernel python -m ipykernel install --user --name dance --display-name "Python(dance)" python -m ipykernel install --user --name nlp --display-name "Python(nlp)"
33. 使用 conda 通过environment.yml 创建新环境时问题记录
https://www.cxyzjd.com/article/m0_47696151/106214427
34. Import Error: no module named ‘past’,
去官网查past模块,这个模块用pip安装是竟然是 pip install future
35. ImportError: TensorBoard logging requires TensorBoard with Python summary writer installed. This should be available in 1.14 or above.
conda install tensorboard
36. UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x97 in position 15: illegal multibyte sequence
meta = list( map(lambda x: x.strip(), fileinput.FileInput("./vocab100.csv")))
改为:
meta = list( map(lambda x: x.strip(), fileinput.FileInput("./vocab100.csv", openhook=fileinput.hook_encoded(encoding='utf-8'))))
openhook=fileinput.hook_encoded(encoding=‘utf-8’)
37 .tsv以及.csv格式文件
https://blog.csdn.net/colourful_sky/article/details/79519597
机器学习中,我们在使用一些经典的分类器对数据进行分类时,需要对数据进行一些必要的预处理。或者我们在使用别人提供的数据使用一些经典的机器学习算法进行学习时,一般常见的数据格式会是.tsv和.csv格式,那么这两种格式究竟是什么以及他们之间有什么区别呢?下面简单的介绍一下:
TSV:tab separated values;即“制表符分隔值”,如:
name age 张三 20 李四 30123
CS conda install -c pytorch torchtext
: comma separated values;即“逗号分隔值”,如:
name,age 张三,20 李四,30123
注:
两者均是以纯文本形式存储的表格数据,可由表格软件导出或读入,编码方式是可以自行定义的。本质而言没有太大区别。
matlab和python中都有很成熟的可供调用的接口处理该两种类型的文件。这里不再赘述。
38.OSError: cannot open resource
借助Python第三方库写了一个简单的生成词云的编程,但在使用wordcloud生成词云过程中,出现了OSError: cannot open resource错误
原因:字体属性font_path的设置与系统提供的字体不一致。
windows: 微软雅黑字体 msyh.ttc
wordcloud = WordCloud(font_path="msyh.ttc", max_words=100, background_color="white")
39. 安装torchtext
conda install -c pytorch torchtext
40. 这个安装包是真的大
41. 关于django的版本选择?
django升级比较快,8个月就升级一个版本,迁移项目真的麻饭。各位在django的实际开发中是怎么选择版本的,最新版2.1了,还是选择自己熟悉的一个版本,比如1.9坚持用,谢谢!
回答: 看各个Django版本官方支持部分的截止日期,最好在截止前1年完成版本切换。如果新的Django项目,建议Django 3.2,官方支持到2024年。
https://www.zhihu.com/question/308080248/answer/1908455677
42. diango实践 TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’
https://blog.csdn.net/u010021014/article/details/110449782
错误类型: TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’
出错代码: 如上图绿框所示,在settings.py中的'DIRS': [BASE_DIR / 'templates']
错误分析: 这个提示大概是说:“类型错误:不支持操作类型为字符串和字符串”,直接把两个字符串(BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
在前面定以为基础路径,也就是整个项目的路径)在列表中连接起来是不合适的,这里系统将“/”理解为了除号,系统理解为“字符串/字符串”。实际上这里想表达的意思将BASE_DIR 和’templates’连在一起形成一个完整路径,而“/”是路径分隔符。
修改方法: 'DIRS': [str.format(BASE_DIR, '/templates')]
,再次运行就成功了。(大约在setting.py文件的第55行)
43. txt文件编码
不然可能乱码
44. Python判断一个字符串中是否存在多个子串中的一个
https://www.cnblogs.com/hankleo/p/11833703.html
>>> a = "I Love Crystal!And I Hate Tom!" >>> name_list = ["Jessie", "Tom", "Crystal"] >>> print(any(name in a for name in name_list)) True >>> name_list = ["Jessie", "Tomi", "Rose"] >>> print(any(name in a for name in name_list)) False
45. 首先,ASCII码只能表示字符,不能表示汉字的,一个ASCII码只占一个字节内存
然后UTF-8表示中文的范围是\u4e00-\u9fa5,一个UTF-8编码的汉字占用三字节内存
46.AttributeError: ‘NoneType’ object has no attribute ‘append’
https://blog.csdn.net/qulengdai0563/article/details/80135162
请注意:l = l.append(m) 是不对的,【与之区分的是常用的a+=1】
l.append(m)执行后的返回值是NoneType
l 不能=NoneType
正确的写法是【直接用 l.append(m)就可以了】
47. with open(“test.txt”,“w”) as f:
with open("test.txt","w") as f: f.write("这是个测试!") # 自带文件关闭功能,不需要再写f.close()
48 pycharm 对于txt文件大小2.56MB的限制
修改文件内容
C:\Users\86155\AppData\Roaming\JetBrains\PyCharm2020.3\idea.properties
# custom PyCharm properties idea.max.intellisense.filesize=10000 idea.max.content.load.filesize=10000
49 pycahrm输出不完全
https://blog.csdn.net/qq_36303970/article/details/87544790Pycharm 打开(打印)大数据文件显示不全的解决方法
50 python的sorted函数对字典按key排序和按value排序
https://blog.csdn.net/tangtanghao511/article/details/47810729
sorted函数按value值对字典排序
要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法,如下:
这里的d.items()实际上是将d转换为可迭代对象,迭代对象的元素为(‘lilee’,25)、(‘wangyan’,21)、(‘liqun’,32)、(‘lidaming’,19),items()方法将字典的元素转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。lambda x:y中x表示输出参数,y表示lambda函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。
51 Pycharm Debug调试(纯干货)
https://blog.csdn.net/qq_33472146/article/details/90606359
这里一排七个坐标的意思分别是
1.show execution point (F10) 显示当前所有断点
2.step over(F8) 单步调试。
若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行
3.step into(F7) 单步调试。
若函数A内存在子函数a时,会进入子函数a内执行单步调试。
4.step into my code(Alt + Shift +F7) 执行下一行但忽略libraries(导入库的语句)
5.force step into(Alt + Shift +F7) 执行下一行忽略lib和构造对象等
6.step out(Shift+F8)当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。
7.run to cursor(Alt +F9) 直接跳到下一个断点
52统计列表元素出现次数并排序 转换为字典
https://www.cnblogs.com/wintest/p/14191646.html
from collections import Counter def demo(str_list): temp = Counter(str_list) res_list = sorted(temp.items(), key=lambda x: x[1], reverse=True) res_dict = dict(res_list) return res_dict str_list = ["a", "a", "c", "b", "d", "c", "c", "c", "d", "d"] print(demo(str_list))
53 python flask web服务如何更换默认端口和IP
https://blog.csdn.net/melonking2018/article/details/83187161
from flask import Flask from flask import request app = Flask(__name__) @app.route('/') def index(): user_agent=request.headers.get('User_Agent') return 'user_agent is %s' %user_agent if __name__ == '__main__': app.run( host='0.0.0.0', port= 5000, debug=True )
可以在pycharm 的Terminal中输入flask run -p 8000来运行
54 pycharm文件夹 .idea 和__pycache__
https://blog.csdn.net/qq_36187544/article/details/101520750
.idea文件夹:(隐藏文件夹可在finder中shift+command+.查看隐藏)当使用pycharm作为IDE时,会自动生成 .idea/
文件夹来存放项目的配置信息。其中包括版本控制信息、历史记录等等。删除这个文件夹的唯一影响是不能回溯了
pycache:存放python解释器编译的字节码,后续再运行,没改变代码时直接运行加快速度。删除这个文件夹的唯一影响是运行代码都以第一次加载速度运行
55 python自带虚拟环境
56 pycharm清除缓存
https://www.cnblogs.com/emanlee/p/14364519.html
57 初识streamlit
起源:Python的哪个Web框架学习周期短,学习成本低?https://www.zhihu.com/question/60874835
(我是用python写的程序想要有个可视化的界面,但是不擅长html css js,(使用过flask))
介绍:03_Streamlit试用体会
https://github.com/streamlit/streamlit
58 不定长参数
https://blog.csdn.net/turodog/article/details/80878756
加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
# 可写函数说明 def printinfo( arg1, *vartuple ): "打印任何传入的参数" print ("输出: ") print (arg1) print (vartuple) # 调用printinfo 函数 printinfo( 70, 60, 50 )
输出: 70 (60, 50)
59 python,numpy中np.random.choice()的用法详解及其参考代码
python,numpy中np.random.choice()的用法详解及其参考代码
#numpy.random.choice(a, size=None, replace=True, p=None) #从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组 #replace:True表示可以取相同数字,False表示不可以取相同数字 #数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同。
60 解决nginx部署后css、js、图片等样式不加载的问题
这里是xinyang66
61 如何在nginx配置多个二级域名
server { listen 80; server_name app.miniguo77.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:3000; } } server { listen 80; server_name demo.miniguo77.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:3001; } }
62 IDEA更改主题插件——Material Theme UI详解
关于icons不能使用问题
看到评论区有说到 Material Theme UI 不能设置图标问题, 我去官方文档看了一下:
Q: Where have all the icons gone?(所有图标都去了哪里?)
A: Since 5.0.0 all icons related settings have been moved to the Atom Material Icons plugin, another plugin developed by the Material Theme team. This is in order to encourage developers to develop Icon Themes, since the plugin is now free of icons.(从5.0.0版本开始,所有与图标相关的设置已移至Atom Material Icons插件,这是由Material Theme团队开发的另一个插件。这是为了鼓励开发人员开发Icon Themes,因为该插件现在没有图标了。)
故可以通过安装 Atom Material Icons
插件来设置图标。
63 python pickle存储、读取大数据量列表、字典的数据
#列表 #存储 list1 = [123,'xiaopingguo',54,[90,78]] list_file = open('list1.pickle','wb') pickle.dump(list1,list_file) list_file.close() #读取 list_file = open('list1.pickle','rb') list2 = pickle.load(list_file) print(list2) #字典 #存储 list3 = {'12': 123, '23': 'xiaopingguo', '34': 54, '45': [90, 78]} list3_file = open('list3.pickle', 'wb') pickle.dump(list3, list3_file) list3_file.close() # # 读取 list3_file = open('list3.pickle', 'rb') list3 = pickle.load(list3_file) print(list3) print(list3['23']
64 Python —— pickle序列化(大量数据提高python读写速度)(pkl文件)
当大量数据的时候,保存成pkl序列化文件的格式,能够加快python的读写速度
pickle的功能就是把你上次计算得到的数据保存起来,当你需要使用这些数据时,直接通过load将数据进行恢复,这样的好处有:
- 不需要重新去计算得到数据,节省计算机资源;
- 可以更好的被内存调用,不需要经过数据格式的转换,提高效率;【直接保存为其他格式,如txt、csv的数据读写速度都不如序列化后的数据(字节流)】
- pickle可以保存多个对象。实验中,同一数据集下需要保存的内容不止一种,通过pickle可以全部进行保存到一个.pkl文件。
import pickle a1 = "高淇" a2 = 234 a3 = [10, 20, 30, 40] with open("data.dat", "wb")as f: pickle.dump(a1, f) pickle.dump(a2, f) pickle.dump(a3, f) with open("data.dat", "rb")as f: b1 = pickle.load(f) b2 = pickle.load(f) b3 = pickle.load(f) print(b1) print(b2) print(b3)
输出:
1.pickle主要用于存储计算过数据,保存下来下次使用直接获取,特点是他的读写效率高于一般文件,存储大小也更小
2.json主要用于网络直接传递数据,存储一些结构化数据
3.CSV 通常用于在电子表格软件和纯文本之间交互数据。实际上,CSV 都不算是一个真正的结构化数据,CSV 文件内容仅仅是一些用逗号分隔的原始字符串值。
65 python - Python pickle 的首选(或最常见)文件扩展名
66 from pprint import pprint
优美地打印
你可以通过以下方式对字典和数列进行优美地打印:
from pprint import pprint pprint(my_dict)
这种方式对于字典打印更加高效。此外,如果你想要漂亮的将文件中的json文档打印出来,你可以用以下这种方式:
cat file.json | python -m json.tool
67 Python 对字符串切片及翻转
def rotate(input,d): Lfirst = input[0 : d] Lsecond = input[d :] Rfirst = input[0 : len(input)-d] Rsecond = input[len(input)-d : ] print( "头部切片翻转 : ", (Lsecond + Lfirst) ) print( "尾部切片翻转 : ", (Rsecond + Rfirst) ) if __name__ == "__main__": input = 'Runoob' d=2 # 截取两个字符 rotate(input,d)
头部切片翻转 : noobRu 尾部切片翻转 : obRuno
68 Python 中拼音库 PyPinyin 的使用
69 补充:Unicode中文编码范围:
2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。
3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。
4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。
A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。
AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。
F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。
FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等。
70 解决百度网盘(百度云)分享链接不存在失效、分享的文件已经被取消的问题
71 关于__MACOSX文件夹
Mac在压缩文件的同时,还会往里面写入了一些 ”MetaData” ,这样做的目的是为了方便其它的Mac用户使用,就像Windows会在图片目录下加入的 “Thumbs.db” 以方便显示预览图一样。
而这些 ”MetaData” 产生的文件就是 “__MACOSX”,本身这些文件在Mac上是隐藏属性的,也的确方便了用户的操作。
但是在开源世界里的一些插件、模板等作品是要让更多人(不同操作系统下的受众人群)使用的,这里面大部分人都是Windows操作系统,而Windows又是那种高冷型,从不会主动去理会Mac的一方。
于是,在Windows里 “__MACOSX” 就成了垃圾文件,更重要的是,这个所谓的“缓存文件”或者叫“垃圾文件”,只有在Windows下才可见,Mac下不可见。
72 .DS_Store
DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。
73 .gitkeep的作用
大家可能在很多的开源项目中都看到过.gitkeep这个文件,文件内没有任何内容,一个空空的文件。
那么,它的作用到底是什么呢?
这要从git不允许追踪(track)或者说提交一个空的文件夹说起,git本身是不允许提交一个空文件夹的,所有就有了.gitkeep的存在,可以把它看作是一个占位符,当然了,你也可以使用 .nofile或者其他的占位符,自行决定。
当然了,业内人员已经习惯使用.gitkeep,已经达成了共识,所以我们尽量还是使用.gitkeep。
74 python3.6在运行tkinter时要选择 run as Python unit-test,
否则报错ModuleNotFoundError: No module named ‘tkinter.ttk’; ‘tkinter’ is not a package
稍微提醒一下各位,仅此而已2333
https://blog.csdn.net/fengzhizi76506/article/details/72083723
75 同一个Iterator迭代器只能遍历一次
76 vscode python代码格式化
shift alt f
77 python a+b
while True:
try:
a,b=map(int,input().strip().split())
print(a+b)
except:
break
78 【Python】列表元素输入
https://blog.csdn.net/huitinfeng/article/details/100568540?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164032633716780271992485%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=164032633716780271992485&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-100568540.nonecase&utm_term=python%E8%BE%93%E5%85%A5%E5%88%97%E8%A1%A8&spm=1018.2226.3001.4450
a = [eval(x) for x in input().split()]
79 成功解决TypeError: a bytes-like object is required, not ‘str’
https://blog.csdn.net/faihung/article/details/90516180
80、当python撞上echarts时 add各个图形参数
bar.add参数设置
pyecharts版本问题
81pyecharts安装指定版本
https://www.cnblogs.com/dgwblog/p/11811562.html
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts==0.5.10
82 python2转换为python3
找到2to3.py所在的文件夹,然后cmd
python 2to3.py -w D:\BaiduNetdiskDownload\temperature-analysis\Crawler.py
-w 的意思是在文件中直接更改
83python3报错:TypeError: a bytes-like object is required, not ‘str’
b = b"example" # bytes object s = "example" # str object sb = bytes(s, encoding = "utf8") # str to bytes 或者:sb = str.encode(s) # str to bytes bs = str(b, encoding = "utf8") # bytes to str 或者:bs = bytes.decode(b) # bytes to str
https://blog.csdn.net/weixin_40283816/article/details/83591582
83csv 写入的时候没有表头
csv 写入的时候没有表头
https://docs.python.org/zh-cn/3.6/library/csv.html?highlight=writeheader#csv.DictWriter.writeheader
错误代码:
def write_header(self, file, data): if data: print("begin to write to " + file) with open(file, 'w+', newline='') as f: # f.write(codecs.BOM_UTF8) f_csv = csv.DictWriter(f, list(data[0].keys())) f_csv.writeheader() f_csv.writerows(data) print("end to write to " + file)
正确代码
def write_header(self, file, data): if data: print("begin to write to " + file) with open(file, 'w', newline='') as f: # f.write(codecs.BOM_UTF8) f_csv = csv.DictWriter(f, list(data[0].keys())) f_csv.writeheader() f_csv.writerows(data) print("end to write to " + file)
正确代码少了一个加号:
https://www.runoob.com/python3/python3-file-methods.html
85 关于python爬虫程序中途停止的问题
https://bbs.csdn.net/topics/392215006
86 安装requirements.txt依赖
https://zhuanlan.zhihu.com/p/266284247
安装requirements.txt依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=1000 -r requirements.txt
pip install -r requirements.txt
87 anaconda删除环境
conda remove --name Line --all
其他
1.导出Telegram贴纸包为QQ表情包
https://www.bilibili.com/read/cv10487627
@stickerset2packbot
docker
1 配置python环境
docker network create --subnet=172.20.0.0/16 pynet
ERROR response from daemon: Pool overlaps with other one on this address space
- 在docker中创建networks的时候有时候会报ERROR: Pool overlaps with other one on this address space的错误,这是因为目标网段已经存在的原因,通常这发生在将要创建的networks手动指定了subnet网段地址的时候。| 这时有两个选择,一是查看已存在的网段是否有容器正在使用,如果没再用了可以删除该网段对应的网卡,二是修改目标的subnet网段地址。
- docker network create --subnet=172.19.0.0/16 pynet 实测可用
- *注意:默认情况下,docker默认创建的网段为172.17.0.X,因此创建的容器都是放在这个网段之中。*
docker network rm pynet
docker run -it --name=nlp --net pynet --ip 172.20.0.2 python:3.6 bash
创建python容器:
docker run -it -d --net pynet --ip 172.19.0.2 python:3.6 bash
docker run -it -d --name=nlp -p 5001:8501 -v /www/wwwroot/experiment/exp2:/root/project --net pynet --ip 172.20.0.2 python:3.6 bash
- 注意:/www/wwwroot/experiment/exp2:/root/project 这里都是绝对路径
进入容器
docker exec -it nlp bash
安装streamlit
pip install streamlit -i https://pypi.tuna.tsinghua.edu.cn/simple
docker run -it --name nlp -d python:3.6
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2 docker部署项目时遇到的错误:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=No
https://blog.csdn.net/weixin_44346972/article/details/113779977
Looking in indexes: http://pypi.douban.com/simple/
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f1503fedf28>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,)‘: /simple/streamlit/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f1503fed9b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,)‘: /simple/streamlit/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f1503fed780>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,)‘: /simple/streamlit/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f1503ffb710>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,)‘: /simple/streamlit/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’<pip._vendor.urllib3.connection.HTTPConnection object at 0x7f1503ffb908>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,)': /simple/streamlit/
ERROR: Could not find a version that satisfies the requirement streamlit (from versions: none)
ERROR: No matching distribution found for streamlit
dockerfile构建镜像报错IPv4 forwarding is disabled https://cloud.tencent.com/developer/article/1671725
3 Docker 命令大全
https://www.runoob.com/docker/docker-command-manual.html
下载 Docker Compose 的稳定版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件
sudo chmod +x /usr/local/bin/docker-compose
测试安装版本:
docker-compose --version # 显示:docker-compose version 1.28.5, build 1110ad01
安装elecV2P
mkdir /elecv2p && cd /elecv2p
curl -sL https://git.io/JLw7s > docker-compose.yaml # v3.4.5 之后 所有平台都可以直接使用上面的命令 # arm32 # curl -sL https://git.io/JOuQB > docker-compose.yaml # arm64 # curl -sL https://git.io/JOuQo > docker-compose.yaml
docker-compose up -d # 注意:默认的 docker-compose.yaml 文件使用的是基础镜像。 # 如果是 ARM 平台请使用注释中的对应命令,或者使用下面的文件手动进行修改。(v3.4.3 之前版本) # 另外,默认把 80/8001/8002 端口分别映射成了 8100/8101/8102,以防出现端口占用的情况,访问时注意。 # 如果需要调整为其他端口,可以自行修改下面的内容然后手动保存。
- 具体使用的镜像 image、端口映射和 volumes 目录,根据个人情况进行调整
- 部分用户反映,在某些设备上需要调整 version 的版本才能启动。如果启动出现问题,可以尝试把文件开头的 version: ‘3.7’ 更改为 version: ‘3.3’
- arm32 平台如果出错,参考 issues #78
其他 docker 相关指令
# 查看是否启动及对应端口 docker ps # 查看运行日志 docker logs elecv2p -f
默认端口
- 80: webUI 后台管理界面。添加规则/JS 文件管理/定时任务管理/MITM 证书 等
- 8001: ANYPROXY HTTP代理端口。(代理端口不是网页,不能通过浏览器直接访问)
- 8002: ANYPROXY 代理请求查看端口
dockerfile构建镜像报错IPv4 forwarding is disabled
https://cloud.tencent.com/developer/article/1671725
C++
1.代码格式化
2 VSCode不要折叠/展开空白文件夹的方法
https://www.cnblogs.com/yehuisir/p/14723499.html
左下角 齿轮 → 设置,输入 compactFolders
,勾选表示折叠空白文件夹,取消勾选表示不折叠。
3 c++bitset用法详解(超简单)——蒟蒻函数
c++bitset用法详解(超简单)——蒟蒻函数
4MFC程序,在改变系统DPI后,控件显示位置混乱的问题
https://blog.csdn.net/weixin_30268071/article/details/95627170
deepin
- 开机之前的选项我选的是普通模式,因为特效模式要求的配置高,在虚拟机里面使用特效模式会卡。
高效模式和时尚模式主要表现在任务栏等设置位置上的不同,如上图高效模式比较类Windows桌面样式,开始菜单在左下方,点击就可以看到软件等菜单了,而时尚模式任务栏是居中的。以个人的眼光来看,使用时尚模式的Deepin系统比较有个性,而使用高效模式能按照习惯来操作,容易找到相关的程序,但比较传统。这两个模式选择哪一个主要看你喜欢哪一个,它们所消耗的系统资源几乎是相当的,不会对运行造成什么影响。而特效模式和普通模式就不一样了,内存较少的如果选择特效模式则运行会下降。