python备注(持续更新……)
训练模型时出现CUDA_ERROR_OUT_OF_MEMORY 错误,前⼏次训练还好好的,这次中途因为⽹络断了,重新训练就⼀直报这个错
解决:top查python3的进程号,再⽤kill -9 进程号杀掉python相关进程,为了防⽌再次断⽹,⽤screen指令不挂断,screen python3
异常处理try-except-finally
try:执⾏可能会出错的试探性语句,即这⾥⾯的语句是可以导致致命性错误使得程序⽆法继续执⾏下去
except:如果try⾥⾯的语句⽆法正确执⾏,那么就执⾏except⾥⾯的语句,这⾥⾯可以是错误信息或者其他的可执⾏语句
finally:不管结果怎么样,最后都会执⾏finally
result = []
try:
list_s = list(SentenceSplitter.split(s))  # 分句
except Exception as e:
print('cleaning text raises error:\n', e)
list_s = []
finally:
for item in list_s:
item = item.lstrip("。,,、??:;!!……")  # 只删头部指定标点符号
if len(item) >= 5:
result.append(item)
pandas 读取csv⽂件报错:‘utf-8’ codec can’t decode byte 0xc6 in position 2: invalid continuation byte
解决⽅法:加⼊encoding=“gbk”
data = pd.read_csv(‘data.csv’, encoding=“gbk”)
from mysql import connector ImportError: No module named mysql的问题解决办法
pip3 install mysql-connector
安装依赖包:pip3 install - 之后 pip3 install
离线安装包:下载whl⽂件到本地,再⽤pip3 install xxx.whl
导⼊import其他py
放在同⼀⽂件夹下,import时不要带后缀.py,直接导⼊名字就好
数据扩充 list*扩充个数
in: [1]*4
out:[1,1,1,1]
实现结构体
import numpy as np
GPSType=np.dtype({‘names’:[‘id’,‘px’,‘py’],‘formats’:[‘S32’,‘f’,‘f’]})
Data=np.array([(‘zero’,0.,0.)]*10,dtype=GPSType) #创建Data[2]
#结构体数组中成员赋值
#Data[0]
print(Data[0][‘id’])
print(Data[0][‘px’])
将string转为⼀个dict的3⽅法:
1. ast.literal_eval() 依赖python
2.6以上,据介绍时说⽐直接eval更安全⼀些
2. eval() 在string内容⽐较可控/安全的前提下,eval是不错的⽅法。
3. json.loads() ⽤json提供的loads⽅法是不错的,不过key/value中的string被转化为了unicode
sqlite(含PySQLite)是⾮常著名的开源嵌⼊式数据库软件,它可以嵌⼊到其他程序中使⽤,并且提供SQL接⼝⽤来查询
>>> import sqlite3
>>> conn = t('somedatabase.db') # 创建数据库
>>>cu = conn.cursor()  #能获得连接的游标
#创建数据表
>>> cu.execute("""create table catalog (
id integer primary key,
pid integer,
name varchar(10) UNIQUE
)""")
#插⼊两条数据
>>> cu.execute("insert into catalog values(0,0,'name1')")
>>> cu.execute("insert into catalog values(1,0,'name2')")
>>> connmit()
#选择(select)
>>> cu.execute("select * from catalog")
>>> cu.fetchall()
[(0, 0, 'name1'), (1, 0, 'name2')]
>>> cu.execute("select * from catalog where id = 1")
>>> cu.fetchall()
[(1, 0, 'name2')]
#修改(update)
>>> cu.execute(“update catalog set name=’name2′ where id = 0″)
>>> cxmit()
>>> cu.execute(“select * from catalog”)
>>> cu.fetchone()python怎么读取txt
(0, 0, ‘name2′)
#删除(delete)
>>> cu.execute(“delete from catalog where id = 1″)
>>> cxmit()
>>> cu.execute(“select * from catalog”)
>>> cu.fetchall()
[(0, 0, 'name2')]
Python中的Levenshtein包可以⽅便的计算编辑距离,包的安装:
pip install python-Levenshtein
安装pip3
参考:install pip3 for python 3.x - ⽂成⼩盆友 - 博客园
wget wget --no-check-certificate  /packages/source/p/pip/pip-8.0.#md5=3a73c4188f8dbad6a1e6f6d44d117eeb tar -xzf pip-8.0.
cd pip-8.0.2
python3 setup.py build
python3 setup.py install