分类: Python

  • I Want a Shortcut!

    When pip installs software it doesn’t automatically create a shortcut or menu item for you. Happily, someone has created a utility called shortcut to do this for you if you’ve not isolated Mu in a virtualenv.

    Simply use pip to install shortcut and then use shortcut on Mu:

    pip3 install mu-editor
    mu-editor
    ----------------------------
    pip3 install shortcut
    shortcut mu-editor
    
  • 计算正态分布的Z值(python)

    x = [10, 4, 2, 4, 3, 2, 1, 4, 5, 0]
    # 请在下面作答 #
    z=[]
    scaler = lambda x, u, sigma:(x-u)/sigma
    #U-正态分布均数,sigma-正态分布标准差,x-给定观察值
    for i in x:
        z.append(scaler(i,3.0,1.0))
    print(z)
    
  • 百度智能云-人工智能-通用文字识别OCR

    # encoding:utf-8
    
    import requests
    import base64
    import json
    
    '''
    通用文字识别
    '''
    
    request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
    # 二进制方式打开图片文件
    #f = open('/home/cnliutz/微21.jpg', 'rb') 要识别的图片放这里。
    f = open('/home/cnliutz/微信图片_20200724140210.jpg', 'rb')
    img = base64.b64encode(f.read())
    
    params = {"image":img}
    access_token = '24.d4c2ebf5af97dd3dde655eabf3a22e2f.2592000.1598160343.282335-215715one.seven'  #生成的签名 利用百度智能云-文字识别-技术文档里的方法产生。
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    response = requests.post(request_url, data=params, headers=headers)
    if response:
        print (response.json())
    results=response.json()
    with open('shibiejieguo.txt',"w",encoding="utf-8") as f:
        for i in results['words_result']:
            f.write(i["words"]+"\n")

    注意修改access_token内容,否则无法使用呢
    参考网址:https://cloud.baidu.com/doc/OCR/s/dk3iqnq51
    【只要10分钟 快速掌握文字识别】 教程
    参考网址:https://ai.baidu.com/forum/topic/show/867951

    #文字识别另一种调用方法
    # coding=utf-8
    
    import sys
    import json
    import base64
    
    
    # 保证兼容python2以及python3
    IS_PY3 = sys.version_info.major == 3
    if IS_PY3:
        from urllib.request import urlopen
        from urllib.request import Request
        from urllib.error import URLError
        from urllib.parse import urlencode
        from urllib.parse import quote_plus
    else:
        import urllib2
        from urllib import quote_plus
        from urllib2 import urlopen
        from urllib2 import Request
        from urllib2 import URLError
        from urllib import urlencode
    # 防止https证书校验不正确
    import ssl
    ssl._create_default_https_context = ssl._create_unverified_context
    API_KEY = 'dGgWcprUfQBHKM5UG2CdSzot'
    SECRET_KEY = '3Gqe5MkzUdONgtppDceUutRGdpF7MVkU'
    OCR_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
    """  TOKEN start """
    TOKEN_URL = 'https://aip.baidubce.com/oauth/2.0/token'
    """
        获取token
    """
    def fetch_token():
        params = {'grant_type': 'client_credentials',
                  'client_id': API_KEY,
                  'client_secret': SECRET_KEY}
        post_data = urlencode(params)
        if (IS_PY3):
            post_data = post_data.encode('utf-8')
        req = Request(TOKEN_URL, post_data)
        try:
            f = urlopen(req, timeout=5)
            result_str = f.read()
        except URLError as err:
            print(err)
        if (IS_PY3):
            result_str = result_str.decode()
    
        result = json.loads(result_str)
    
        if ('access_token' in result.keys() and 'scope' in result.keys()):
            if not 'brain_all_scope' in result['scope'].split(' '):
                print ('please ensure has check the  ability')
                exit()
            return result['access_token']
        else:
            print ('please overwrite the correct API_KEY and SECRET_KEY')
            exit()
    """
        读取文件
    """
    def read_file(image_path):
        f = None
        try:
            f = open(image_path, 'rb')
            return f.read()
        except:
            print('read image file fail')
            return None
        finally:
            if f:
                f.close()
    
    """
        调用远程服务
    """
    def request(url, data):
        req = Request(url, data.encode('utf-8'))
        has_error = False
        try:
            f = urlopen(req)
            result_str = f.read()
            if (IS_PY3):
                result_str = result_str.decode()
            return result_str
        except  URLError as err:
            print(err)
    
    if __name__ == '__main__':
        # 获取access token
        token = fetch_token()
    
        # 拼接通用文字识别高精度url
        image_url = OCR_URL + "?access_token=" + token
    
        text = ""
    
        # 读取书籍页面图片
        file_content = read_file('/home/cnliutz/微21.jpg')
    
        # 调用文字识别服务
        result = request(image_url, urlencode({'image': base64.b64encode(file_content)}))
    
        # 解析返回结果
        result_json = json.loads(result)
        with open('shibiejieguo.txt',"a",encoding="utf-8") as f:
            for words_result in result_json["words_result"]:
                text = text + words_result["words"]
                f.write(words_result["words"])
    
        # 打印文字
        print(text)
    
  • python查看计算机配置

    python -c "import platform;print(platform.architecture());print(platform.machine())"
  • xlwt写入excel时出错解决方法

    #读取excel文件内容
    import xlrd
    import xlwt
    workbook=xlrd.open_workbook("text1.xlsx")
    sheet_name=workbook.sheet_names()
    print(sheet_name)
    sheet=workbook.sheet_by_index(0)
    print(sheet.cell_value(1,3))
    rows=sheet.row_values(5)  #fiveth row  output
    cols=sheet.col_values(3)  #therd col  output
    print(rows)
    print(cols)
    #print(sheet.name,sheet.nrows,sheet.ncols)
    #写入数据到excel文件,调试环境 debian10,python3.7,pycharm 2020.1
    #from xlwt import Worksheet
    workbook = xlwt.Workbook(encoding='ascii', style_compression=0) #这句可以正确执行!
    #workbook = xlwt.Workbook 如果程序这样写,运行时总是出错!参见xlwt包文件,网址https://xlwt.readthedocs.io/en/latest/api.html
    worksheet = workbook.add_sheet("test1",cell_overwrite_ok=True)
    worksheet.write(0,0,1357)
    worksheet.write(0,1,358)
    workbook.save("texcel.xls")
    
  • python读写.csv格式文件

    #win10 vscode 如果print输出中文乱码,请设置环境变量PYTHONIOENCODING=UTF8
    #read csvfile
    #import xlrd
    #import xlwt
    import csv
    import numpy as np
    filename='timu0.csv'
    with open(filename) as f:
        r1 = csv.reader(f)
        #print(list(r1))
        for row in r1:
            print(r1.line_num,row,end="\n")
    print("I love 我爱你!")
    #写入csv数据write csv data to a file.
    datas=[['商品编号', '商品名称', '单价', '库存', '销量'],
    ['1', '猫零食', '12', '3133', '5164'],
    ['2', '普通猫粮', '33', '5055', '2231'],
    ['3', '猫粮四合一', '187', '212', '334']]
    with open('d:/python/file.csv',"w",newline='') as w:
        w1=csv.writer(w)
        for row in datas:
            w1.writerow(row)    #每次写入一行
        w1.writerows(datas)     #一次性把datas写入文件
    #numpy savetxt()写入,loadtxt()读取csv文件
    a=np.arange(20).reshape(5,4)
    b=np.savetxt('txt_a.csv',a,fmt="%d",delimiter=",")
    print(a)
    a_array=np.loadtxt("txt_a.csv",dtype=str,delimiter=None)
    print(a_array)
    

    页: 1 2

  • python numpy包使用方法

    #numpy shiyong
    #np.array();np.empty();np.zeros();np.arange();np.where();np.linspace();np.logspace();np.random()
    #疯狂的正弦曲线
    import matplotlib.pyplot as plt
    import numpy as np
    x=np.linspace(-5,5,256)
    y=np.sin(x**3)
    # print(x)
    # print(y)
    plt.plot(x,y,'X--')
    plt.show()
    #正态分布直方图和密度函数图
    np.random.seed(12345)
    N=10000
    randnormal=np.random.normal(size=N)
    counts,bins,path=plt.hist(randnormal,bins=int(np.sqrt(N)),color="blue")
    print(counts,bins)   #频数和分组
    print(type(path))
    plt.show()
    sigma=1;mu=0
    norm_dist=(1/np.sqrt(2**np.pi))*np.exp(-((bins-mu)**2)/2)
    plt.plot(bins,norm_dist,color="red")
    plt.show()
    #醉汉步数统计
    np.random.seed(1234)
    step=np.where(np.random.randint(0,2,10000)>0,1,-1)
    posiition=np.cumsum(step)
    plt.plot(np.arange(10000),posiition)
    plt.show()
    #二项分布赌博案例--9枚硬币正面朝上至少5枚输8元,否则赢8元,图示10000次输赢变化,开始时手中有1000元
    np.random.seed(1234)
    binormal=np.random.binomial(9,0.5,10000)
    money=np.zeros(10000)
    money[0]=1000
    for i in range(1,10000):
        if binormal[i]<5:
            money[i]=money[i-1]-8
        else:
            money[i] = money[i - 1] + 8
    plt.plot(np.arange(10000),money)
    plt.show()
  • Debian server使用Django CMS搭建新闻站

    #设置Django运行环境
    pip install --upgrade virtualenv
    virtualenv env
    source env/bin/activate
    pip install djangocms-installer
    djangocms  mysite   #创建mysite  CMS站点
    #-------------------------------
    cd ~
    cd mysite
    (env) (base) cnliutz@debian:~/mysite$ ls -l
    #-----------------------------------------
    总用量 920
    -rwxr-xr-x 1 cnliutz cnliutz    626 7月  14 05:38 manage.py
    drwxr-xr-x 2 cnliutz cnliutz   4096 7月  14 05:38 media
    drwxr-xr-x 5 cnliutz cnliutz   4096 7月  14 05:38 mysite
    -rw-r--r-- 1 cnliutz cnliutz 921600 7月  14 05:39 project.db
    -rw-r--r-- 1 cnliutz cnliutz    440 7月  14 05:39 requirements.txt
    drwxr-xr-x 2 cnliutz cnliutz   4096 7月  14 05:38 static
    #------------------------------------------
    (env) (base) cnliutz@debian:~/mysite$ python manage.py runserver
    #------------------------------------------
    #System check identified no issues (0 silenced).
    #July 14, 2020 - 05:42:46
    #Django version 3.0.8, using settings 'mysite.settings'
    #Starting development server at http://127.0.0.1:8000/
    #Quit the server with CONTROL-C.
    
    https://www.django-cms.org/en/
  • Python检查文件或目录是否存在

    在本教程中,我们将学习如何使用Python检查文件(或目录)是否存在。 为了检查这一点,我们使用python的内置函数,可以使用4种方法来验证文件或目录的存在,如下所示:os.path.exists()os.path.isfile()os.path.isdir()pathlibPath.exists()


    os.path.exists()

    使用path.exists()方法,可以快速检查文件或目录是否存在,

    步骤1)在运行代码之前,导入os.path模块:

    import os.pathfrom os import path

    步骤2)使用path.exists()检查文件是否存在。

    path.exists("guru99.txt")

    步骤3)以下是完整代码

    import os.pathfrom os import pathdef main():   print ("File exists:"+str(path.exists('guru99.txt')))   print ("File exists:" + str(path.exists('career.guru99.txt')))   print ("directory exists:" + str(path.exists('myDirectory')))if __name__== "__main__":   main()

    方便测试,我们仅在工作目录中创建文件guru99.txt


    输出:

    File exists: TrueFile exists: Falsedirectory exists: False

    os.path.isfile()

    我们可以使用isfile()方法来检查给定的输入是文件还是目录,代码如下:

    import os.pathfrom os import pathdef main():	print ("Is it File?" + str(path.isfile('guru99.txt')))	print ("Is it File?" + str(path.isfile('myDirectory')))if __name__== "__main__":	main()

    输出:

    Is it File? TrueIs it File? False

    os.path.isdir()

    如果要确认给定路径指向目录,可以使用os.path.dir()函数,代码如下:

    import os.pathfrom os import pathdef main():   print ("Is it Directory?" + str(path.isdir('guru99.txt')))   print ("Is it Directory?" + str(path.isdir('myDirectory')))if __name__== "__main__":   main()

    输出:

    Is it Directory? FalseIs it Directory? True

    适用于Python 3.4的pathlibPath.exists()

    Python 3.4及更高版本具有pathlib模块,用于处理文件系统路径。 它使用面向对象的方法来检查文件是否存在,代码如下:

    import pathlibfile = pathlib.Path("guru99.txt")if file.exists ():    print ("File exist")else:    print ("File not exist")

    输出:

    File exist

    以下是完整的代码:

    import osfrom os import pathdef main():      print(os.name)print("Item exists:" + str(path.exists("guru99.txt")))print("Item is a file: " + str(path.isfile("guru99.txt")))print("Item is a directory: " + str(path.isdir("guru99.txt")))if __name__ == "__main__":    main()

    输出:

    Item exists: TrueItem is a file: TrueItem is a directory: False

    总结:

    如何检查文件是否存在


    1. os.path.exists()–如果路径或目录存在,则返回True。
    2. os.path.isfile()–如果路径为File,则返回True。
    3. os.path.isdir()-如果路径是Directory,则返回True。
    4. pathlib.Path.exists()-如果路径或目录存在,则返回True。 (要求在Python 3.4及更高版本中应用)
  • python打开txt文件

    with open("D:/Users/Administrator/Documents/str.txt","r",encoding="utf-8") as file_con:
        for i in  file_con:
            print(type(i))