博士干点啥: 十八般武艺总有一招适合你

Python常用库和命令速查

2018-10-31  本文已影响10人  九天学者
Python+Numpy+Matplotlib+Jupyter

Python虽然不是计算效率最高的编程语言,但是绝对是最全能的编程语言!没有之一!可以做计算、精美可视化数据、网络应用(爬个虫、做个网站神马的都不在话下)...还有现在最热或的数据挖掘和机器学习,Python都有很多有用的库可供调用!比如Numpy, Matplotlib, SciPy, 还有一个神一样的工具叫Jupyter-Notebook和Sphinx!那么在使用python的过程中会有一些常用的、可以兼顾效率和美观的一写库和一些常用的命令,列举于此,方便以后查找。

命令

import os
if(os.path.exists(path_csv)):  #判断文件路径是否存在
        name_csv = os.path.basename(path_csv) #获取文件名
        path_csv = os.path.abspath(path_csv) #获取文件的绝对路径
        path_father = os.path.abspath(os.path.dirname(path_csv) + os.path.sep + ".") #获取文件的父路径
import sys
from colored import fg, bg, attr
C_GREEN = fg('green')
C_RED = fg('red')
C_BLUE = fg('blue')
C_DEFAULT = attr('reset')
def usage(argv):
    basename = argv[0].split('/')
    basename = basename[len(basename)-1]
    print("======================"+basename+"=======================")
    print("Transform Surfer Grid data to netCDF format based gmt")
    print("Zhikui Guo, 2018/1/8, GEOMAR")
    print("[""Example""]: "+C_RED + basename+C_BLUE +
          " my.grd")
    print("=======================================================")
    sys.exit(1)
def main(argv):
    if(len(argv) != 3):
        usage(argv)
        exit(0)
    num_run = argv[2]
    prom = argv[1].split('.')[0]
    logfile = 'log/log'+argv[2]
    pidfile = 'log/pid'+argv[2]
    
    # ...

if __name__ == '__main__':
    sys.exit(main(sys.argv))

首先介绍库,然后在下面列举一些常用的代码。

基础库

from colored import fg, bg, attr
C_GREEN=fg('green')
C_RED=fg('red')
C_BLUE=fg('blue')
C_DEFAULT=attr('reset')
maxnum=555
pb = ProgressBar(total=maxnum,prefix=C_BLUE+'Progress: '+C_DEFAULT, suffix=' Completed'+C_DEFAULT, decimals=3, length=50, fill=C_GREEN+'#', zfill=C_DEFAULT+'-')
for i in range(0,maxnum):
  pb.print_progress_bar(I+1)
优雅的精度条jin
AllData = linecache.getlines(filename)
#....
linecache .clearcache()

专业库

import spacy 
nlp = spacy.load('en') 
import nltk

# 2 分词并保存到文件
path_fenci=path_out+'/'+name_theme
fout=open(path_fenci+'_fenci.txt','w')
fout2=open(path_fenci+'_fenci_detail.txt','w')
for i in range(0,len(words_abstract)):
    sentence=words_abstract[I]
    tokens = nltk.word_tokenize(sentence)
    tagged = nltk.pos_tag(tokens)
    for kk in range(0,len(tokens)):
        if('NN' in tagged[kk][1]):
            fout.write('%s\n'% (tokens[kk].split(',')[0]))  #只统计名词
        fout2.write('%s\t%s\n'% (tagged[kk][0], tagged[kk][1])) #第一个是此,第二个是词性
fout.close()
fout2.close()
上一篇 下一篇

猜你喜欢

热点阅读