一日多技,技能-Linux-Python-Life 005

简介: 一日多技,技能-Linux-Python-Life 005

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

Linux 相关

1、Docker和宿主机之间共享文件?

docker run -it --rm -v /home/my_data:/share 镜像ID /bin/bash

指令含义:把宿主机的 /home/my_data 目录挂载到新建容器的 /share 目录。 执行完上面命令进入 Docker 容器后,进入 /share 文件夹下,ls 后就会看到宿主机 /home/my_data 中的文件。

2、vim 删除单行、全部?撤回?

1)删除单行:dd

2)删除全部:

  • gg 光标移动到行首
  • dG 删除光标后所有内容

3)撤回:u

3、Ubuntu 查看安装的软件包版本和位置?

  • 查看软件包名称
(myconda) root@ZA8rRd:/# dpkg -l | grep cudnn
hi  libcudnn8                     8.2.0.53-1+cuda11.3 amd64               cuDNN runtime libraries
ii  libcudnn8-dev                 8.2.0.53-1+cuda11.3 amd64               cuDNN development libraries and headers
  • 根据名称查找位置
(myconda) root@ZA8rRd:/# dpkg -L libcudnn8 
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.2.0
...

4、如何使用cuda编译 cpp 代码?fatal error: cuda.h: No such file or directory!!!

首先你需要确保你机器里面已经安装了 cuda 环境。

测试程序如下,写入到t-c.cpp文件中:

#include <iostream>
#include <cuda.h>
int main()
{
    printf("Hello World");
    return 0;
}

编译的时候需要指定以下参数:

  • -I /usr/local/cuda/include  指定编译的时候,头文件搜索路径
  • -o tc 编译成功的可执行文件名称
  • -L /usr/local/cuda/lib64 指定编译的时候,搜索库的路径
  • -l cuda 指定编译的时候使用的库
g++ -I /usr/local/cuda/include t-c.cpp -o tc -L /usr/local/cuda/lib64 -l cuda
(myconda) root@ZA8rRd:/home# g++ -I /usr/local/cuda/include t-c.cpp -o tc -L /usr/local/cuda/lib64 -l cuda
(myconda) root@ZA8rRd:/home# ./tc
Hello World

5、linux 删除安装的软件包

apt-get remove --purge 软件名称  -y
apt-get autoremove --purge 软件名称  -y

Python 相关

'NoneType'object is not subscriptable 这种错误是因为你调用的索引不存在导致,比如下面例子中 a 为 None,我却想获取 a 的索引值。

项目中遇到这种错误,需要先去找下 a 值是怎么来的,然后根据代码上下,判断是数据读取问题还是代码写错了。

a = None
1 if a else int(a['b'])

image.png

用处不大

1、add-apt-repository 安装使用

add-apt-repository 是 Python 脚本,允你将 apt 存储库添加到 /etc/apt/sources.list 或者作为单个文件添加 /etc/apt/sources.list.d 目录中。该命令还可以用于删除已经存在的存储库。

要安装它,请运行以下命令:

sudo apt update
sudo apt install software-properties-common

使用 add-apt-repository 添加存储库,安装软件参考:https://www.myfreax.com/how-to-add-apt-repository-in-ubuntu/

2、cmake 升级

去官网下载自己需要的版本安装包,解压后编译安装即可。

https://cmake.org/files/
wget https://cmake.org/files/v3.17/cmake-3.17.5.tar.gz
tar xvf cmake-3.17.5.tar.gz
cd cmake-3.17.5
./bootstrap --prefix=/usr
'''
如果出现错误:Could not find OpenSSL
apt update
apt install libssl-dev
'''
make
make install

image.png

3、'utf-8' codec can't decode byte 0xa3?

读取编码改成unicode_escape。

flag = 0
with open('./wifi密码本.txt', 'r', encoding='unicode_escape') as f:
    # 遍历密码
    for pwd in f:
        # 去除密码的末尾换行符
        pwd = pwd.strip('\n')
        print(pwd)
        flag += 1
        if flag > 10:
            break

4、Python 3.5 添加到 jupyter notebook kernel中的问题?

pip install ipykernel
python -m ipykernel install --name py35
'''
  File "/Users/admin/opt/anaconda3/envs/py35/lib/python3.5/site-packages/jupyter_client/channels.py", line 47
    time_to_dead: float = 1.0
                ^
SyntaxError: invalid syntax
'''

出现上面错误是因为安装的包版本不对的原因。

首先conda 搜索适合 python3.5 的 ipykernel、jupyter_client 包,并安装对应版本,最后添加即可。

conda search ipykernel | grep py35
'''
ipykernel                      4.6.1  py35h9865fc8_0  anaconda/pkgs/main  
ipykernel                      4.7.0  py35h2f9c1c0_0  anaconda/pkgs/main  
ipykernel                      4.8.0          py35_0  anaconda/pkgs/main  
ipykernel                      4.8.2          py35_0  anaconda/pkgs/main  
ipykernel                      4.9.0          py35_0  anaconda/pkgs/main  
ipykernel                      4.9.0          py35_1  anaconda/pkgs/main  
ipykernel                     4.10.0          py35_0  anaconda/pkgs/main  
'''
pip install ipykernel==4.10.0 
conda search jupyter_client | grep py35
'''
jupyter_client                 5.1.0  py35hfe06ecd_0  anaconda/pkgs/main  
jupyter_client                 5.2.1          py35_0  anaconda/pkgs/main  
jupyter_client                 5.2.2          py35_0  anaconda/pkgs/main  
jupyter_client                 5.2.3          py35_0  anaconda/pkgs/main  
'''
pip install jupyter_client==5.2.3
python -m ipykernel install --name py35
'''
Installed kernelspec py35 in /usr/local/share/jupyter/kernels/py35
'''

英语

malicious
英 [məˈlɪʃəs]   美 [məˈlɪʃəs]  
adj.恶意的;恶毒的
drag
英 [dræɡ]   美 [dræɡ]  
v.(用鼠标)拖动
n.拖累;令人厌烦的人;乏味无聊的事
potentially
英 [pə'tenʃəli]   美 [pə'tenʃəli]  
adv.潜在地


今天分享就这些啦,希望对大家有所帮助,这是一个新栏目,总结下每天遇到的问题,记录分享给大家。喜欢就点个赞~

相关文章
|
4月前
|
安全 Python
Python并发编程必备技能:掌握threading模块,让你的代码跑得更快!
【8月更文挑战第22天】Python并发编程采用多线程技术实现任务的同时执行。利用`threading`模块可轻松管理和创建线程。通过`Thread`类实例化线程并用`start()`方法启动。线程同步通过`Lock`确保资源访问互斥,或用`Semaphore`控制并发数量。线程间通信则可通过`Queue`安全传递数据,实现生产者-消费者模式等功能。这些工具有效避免了竞态条件,确保了程序的正确性和效率。
65 1
|
4月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
130 1
|
2月前
|
机器学习/深度学习 算法 计算机视觉
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
80 2
|
3月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
通过构建高效的后缀树,Python程序在处理大规模字符串数据时能够游刃有余,显著提升性能和效率。无论是学术研究还是工业应用,Suffix Tree都是不可或缺的强大工具。
57 6
|
3月前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
在数据驱动时代,Python凭借简洁的语法和强大的库支持,成为数据分析与机器学习的首选语言。Pandas和NumPy是Python数据分析的基础,前者提供高效的数据处理工具,后者则支持科学计算。TensorFlow与PyTorch作为深度学习领域的两大框架,助力数据科学家构建复杂神经网络,挖掘数据深层价值。通过Python打下的坚实基础,结合TensorFlow和PyTorch的强大功能,我们能在数据科学领域探索无限可能,解决复杂问题并推动科研进步。
68 0
|
4月前
|
算法 关系型数据库 程序员
程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码
这篇文章是关于如何使用Python的`pyautogui`库来控制鼠标和键盘进行各种操作,包括移动、点击、滚轮控制以及键盘的按键和快捷键输出,并介绍了如何结合图像处理和计算机视觉技术来扩展其应用。
|
5月前
|
数据采集 网络协议 数据挖掘
网络爬虫进阶之路:深入理解HTTP协议,用Python urllib解锁新技能
【7月更文挑战第30天】网络爬虫是数据分析和信息聚合的关键工具。深入理解HTTP协议及掌握Python的urllib库对于高效爬虫开发至关重要。HTTP协议采用请求/响应模型,具有无状态性、支持多种请求方法和内容协商等特点。
53 3
|
5月前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
【7月更文挑战第31天】在数据驱动时代,Python凭借其简洁性与强大的库支持,成为数据分析与机器学习的首选语言。**数据分析基础**从Pandas和NumPy开始,Pandas简化了数据处理和清洗,NumPy支持高效的数学运算。例如,加载并清洗CSV数据、计算总销售额等。
63 2
|
4月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
47 0
|
4月前
|
SQL 网络协议 数据库连接
"解锁数据连接新技能:Python携手SqlServer,轻松驾驭企业级数据库挑战!"
【8月更文挑战第21天】本文介绍如何在Python中连接SqlServer数据库。首先,需安装`pyodbc`库:`pip install pyodbc`。接着配置数据库详情如服务器地址、端口等。示例代码展示如何建立连接、执行查询及处理结果。务必确认TCP/IP已启用并使用合适ODBC驱动。了解这些步骤可助您更好地利用Python进行数据管理。
96 0