python小工具集锦

用于记录Python的工具知识点


pip 相关

  • pip list列出pip安装的所有包
  • pip list --outdated列出可更新的包
  • pip install somepackage
  • pip uninstall somepackage
  • pip install --upgrade somepackage
  • pip install pip-reviewpip-review --local --interactive更新所有的包

另外pip默认源,有些时候确实很慢,建议更改为国内源,比如科大,清华

```
mkdir ~/.pip
sudo vim ~/.pip/pip.conf

#加入下面行
[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple
```

自动生成和安装requirements.txt依赖
在我们的Python项目里经常会添加requirements.txt文件,里面记录了当前程序的所有依赖包及其精确版本号。主要用于重新构建项目所需要的运行环境依赖。requirements.txt可以通过pip命令自动生成和安装

  • 生成requirements.txt文件
    pip freeze > requirements.txt
    
  • 安装requirements.txt依赖
    pip install -r requirements.txt
    

virtualenv相关

virtualenv是管理不同Python环境的工具,这里介绍如何建立一个keras环境

  • 首先安装该包 pip install virtualenv

  • 建立虚拟环境目录 mkdir $HOME/.virtualenvs

  • 在该目录内建立keras环境 virtualenv keras

  • 启动运行keras环境 source keras/bin/activate

  • 停止运行 deactivate

  • 如果没有启动虚拟环境,系统也安装了pip工具,那么pip install ..将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:export PIP_REQUIRE_VIRTUALENV=true

  • 如下图所示步骤:
    这里写图片描述

    至此已经结束,但是每次运行keras都要source /../..activate是不是有点费事呢,下面使用virtualenvwrapper工具辅助管理虚拟环境

  • 安装该包 sudo pip install virtualenvwrapper

  • 在~/.bashrc中添加行:export WORKON_HOME=$HOME/.virtualenvs

  • 在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh
    这里写图片描述

  • 运行: source ~/.bashrc

  • 列出所有虚拟环境 workon

  • 启动运行虚拟环境 workon keras

  • 如下步骤
    这里写图片描述

  • 删除虚拟环境 rmvirtualenv keras

  • 可能遇见问题:

    1. bash: /usr/local/bin/virtualenvwrapper.sh: 没有那个文件或目录
      解决方案:找到virtualenvwrapper.sh文件位置,然后更新~/.bashrc
    2. no module name virtualenvwrapper
      在这里插入图片描述
      解决方案:sudo vim ~/.bashrc重新添加环境变量添加内容如下:
      export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
      export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
      
      完整变量如图
      在这里插入图片描述
      更新一下:source ~/.bashrc

Jupyter notebook

jupyter notebook 可谓是神器,虽然做大型工程会有点吃力,不过确实很方便使用

pip install jupyter

####有趣的功能简介:

  • 播放音频
from IPython.display import Audio
Audio(url="http://www.nch.com.au/acm/8k16bitpcm.wav")

这里写图片描述

from IPython.display import YouTubeVideo
YouTubeVideo('sjfsUzECqK0')

这里写图片描述

时间相关

  • time
#获取当前时间,时区
>>>import time 
>>>time.time() #当前时间(距离1970年1月1日 00:00:00的秒数,即时间戳)
1507705104.837813

>>>time.localtime() 
time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=14, tm_min=43, tm_sec=8, tm_wday=2, tm_yday=284, tm_isdst=0)
#输出解释:year,month (1-12),day (1-31),hours (0-23),minutes (0-59),seconds (0-59),weekday (0-6, Monday is 0),Julian day (day in the year, 1-366),DST (Daylight Savings Time) ,flag (-1, 0 or 1) 是否是夏令时

#Normal format
>>>ISOTIMEFORMAT='%Y-%m-%d %X'
>>>time.strftime(ISOTIMEFORMAT, time.gmtime(time.time())) # 零时区时间
'2017-10-11 06:49:37'

>>>time.strftime(ISOTIMEFORMAT, time.localtime(time.time())) # 本时区时间
'2017-10-11 14:38:29'
>>>time.timezone/3600 #当前时区
-8 

#时间转时间戳
>>>dt = "2017-10-11 06:49:37"
>>>timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")      #转换成时间数组
>>>timestamp = time.mktime(timeArray)                      #转换成时间戳
>>>print (timestamp)
1507675777.0

python 常用字符集合

import string

string.ascii_letters
Out: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

string.ascii_lowercase
Out: 'abcdefghijklmnopqrstuvwxyz'

string.ascii_uppercase
Out: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

Istring.digits
Out: '0123456789'

string.punctuation
Out: '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

string.whitespace
Out: '\t\n\x0b\x0c\r '

局域网传输工具

# 终端下打开文件所在目录
python -m SimpleHTTPServer 

默认端口为8000,此时与你同在一个局域网的设备就能通过你的ip:8000从你这下载文件了

中文转拼音

from xpinyin import Pinyin           
# default splitter is `-`
p = Pinyin()
print (p.get_pinyin(u"合肥"))
print (p.get_pinyin(u"合肥", show_tone_marks=True))
print (p.get_pinyin(u"合肥", ''))
print (p.get_pinyin(u"合肥", ' '))
print (p.get_initial(u"合"))
print (p.get_initials(u"合肥"))
print (p.get_initials(u"合肥", u''))

这里写图片描述

python emoji表情

发现了一个比较有意思的

from emoji import emojize
print(emojize(":sushi:"+' '+":thumbs_up:"+' '+":ghost:"+' '+":boy:"+' '+":man:"+' '+":woman:"))	

输出如下:
样例

并附上emoji各表情对应名称的链接



数据处理小技巧

  1. Pandas过滤dataframe中包含特定字符串的数据
    在实际应用过程中使用in或者其他办法也可以,在这里介绍contains
    在这里插入图片描述
  2. 列表解析
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥特曼不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值