• python学习笔记


    本来不想看python了, 但是gcc编译环境的各种版本兼容性问题, 放弃吧.

    只是想用wxWedgits... 算了, 直接用wxPython好了. 

    20190813 公司给了一台CentOS7.2.1511, 从原码开始安装, 下载到/tmp下

    xz -d Python-3.7.4.tar.xz
    tar -xvf Python-3.7.4.tar
    
    安装一些依赖库
    yum -y install bzip2-devel ncurses-devel db4-devel gdbm gdbm-devel libpcap-devel xz xz-devel libffi-devel lzma sqlite sqlite-devel tk tk-devel libuuid-devel readline-devel zlib-devel
     
    
    cd Python-3.7.4
    ./configure --prefix=/usr/local/python3.7 --enable-optimizations
    
    make
    make install
    
    中途有失败 make clean掉, 解决重新来.或者从头来.
    https://www.code-learner.com/how-to-compile-and-install-python3-from-source-code-in-centos/
    https://www.linuxidc.com/Linux/2018-01/150564.htm
    https://blog.csdn.net/pengjunlee/article/details/89100730

    pip 更换源
    
    https://www.cnblogs.com/lpl521/p/6778048.html
    
    mkdir ~/.pip
    cd ~/.pip
    touch pip.conf
    vi pip.conf
    ---------------------------------
    [global]
    index-url = http://mirrors.xxxxxx/pypi/simple/
    [install]
    trusted-host = mirrors.xxxxxx


    /////////////////////////////////////////////////////////////////////////////////////////////////////

    可以使用内网镜像来安装
    pip install -i http://mirrors.xxxxxxx/pypi/simple xxxpackage --trusted-host mirrors.xxxxxxx

    windows下,配置pip.ini 文件 内容如下:
    https://jingyan.baidu.com/article/3d69c55127775af0cf02d79e.html
    --------------------------------------------------------------
    [global]
    index-url = http://mirrors.xxxxx
    [install]
    trusted-host=mirrors.xxxx
    --------------------------------------------------------------
    pip install xxxpackage

    
    

      

    python doc, 有中文, 讲解最全

    https://docs.python.org/zh-cn/3/library/python.html

    https://docs.python.org/zh-cn/3/library/builtins.html

    pyinstaller

    https://pythonhosted.org/PyInstaller/installation.html

    MysqlPython

    https://pypi.org/project/MySQL-python/

    wxpython

    https://wiki.wxpython.org/Getting%20Started

      

    C/C++ mysql

    https://www.cnblogs.com/cy163/archive/2009/10/03/1577812.html

    https://www.cnblogs.com/wunaozai/p/4528394.html

    pip国内镜像, 清华大学的最快. 超过阿里云

    https://www.cnblogs.com/biglittleant/p/6944180.html

    //////////////////////////////////////////////////////////////////////////////////////////

    opencv python 安装

    官方从源头安装
    https://docs.opencv.org/4.1.0/d5/de5/tutorial_py_setup_in_windows.html
    
    没意见, 但是会碰到各种问题.
    
    简单安装
    https://qiita.com/cointoss1973/items/92d82f9accb239a276a0
    日本人写的简洁明了
    
    pip install opencv-python
    pip install opencv-contrib-python

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    点滴:

    python 与json

    https://www.geeksforgeeks.org/json-formatting-python/
    https://docs.python.org/3/library/json.html
    Functions json.dump(obj, fileObj): Serializes obj as a JSON formatted stream to fileObj. json.dumps(obj) : Serializes obj as JSON formatted string. json.load(JSONfile) : De-serializes JSONfile to a Python object. json.loads(JSONfile) : De-serializes JSONfile(type: string) to a Python object.Classes JSONEncoder: An encoder class to convert Python objects to JSON format. JSONDecoder: A decoder class to convert JSON format file into Python obj. The conversions are based on this conversion table. -------------------------------------------------------------- Encoding We will be using dump(), dumps() and JSON.Encoder class. #Code will run in Python 3 from io import StringIO import json fileObj = StringIO() json.dump(["Hello", "Geeks"], fileObj) print("Using json.dump(): "+str(fileObj.getvalue())) class TypeEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, type): return str(obj) print("Using json.dumps(): "+str(json.dumps(type(str), cls=TypeEncoder))) print("Using json.JSONEncoder().encode"+ str(TypeEncoder().encode(type(list)))) print("Using json.JSONEncoder().iterencode"+ str(list(TypeEncoder().iterencode(type(dict))))) Output: //////////////////////////////////////////////////// Using json.dump(): ["Hello", "Geeks"] Using json.dumps(): "" Using json.JSONEncoder().encode"" Using json.JSONEncoder().iterencode['""']
    ////////////////////////////////////////////////////

    Decoding We will be using load(), loads()
    and JSON.Decoder class. #Code will run in Python 3 from io import StringIO import json fileObj = StringIO('["Geeks for Geeks"]') print("Using json.load(): "+str(json.load(fileObj))) print("Using json.loads(): "+str(json.loads('{"Geeks": 1, "for": 2, "Geeks": 3}'))) print("Using json.JSONDecoder().decode(): " + str(json.JSONDecoder().decode('{"Geeks": 1, "for": 2, "Geeks": 3}'))) print("Using json.JSONDecoder().raw_decode(): " + str(json.JSONDecoder().raw_decode('{"Geeks": 1, "for": 2, "Geeks": 3}'))) output: //////////////////////////////////////////////////////////////////////////////////// Using json.load(): ['Geeks for Geeks'] Using json.loads(): {'for': 2, 'Geeks': 3} Using json.JSONDecoder().decode(): {'for': 2, 'Geeks': 3} Using json.JSONDecoder().raw_decode(): ({'for': 2, 'Geeks': 3}, 34)
    ///////////////////////////////////////////////////////////////////////////////////

    这个也不错! 比较全面

     https://realpython.com/python-json/

    Encoders and Decoders

    class json.JSONDecoder(*object_hook=Noneparse_float=Noneparse_int=Noneparse_constant=Nonestrict=Trueobject_pairs_hook=None)

     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    python 与 shell 非常好.(python3以后不再支持commands)

    import subprocess
    
    p = subprocess.Popen(["echo", "hello world"], stdout=subprocess.PIPE)
    
    print(p.communicate())
    
    >>>('hello world', None)
    https://www.pythonforbeginners.com/os/subprocess-for-system-administrators

    from
    subprocess import Popen, PIPE p1 = Popen(["dmesg"], stdout=PIPE) print (p1.communicate()[0]) ///////////////////////////////////////////////////////// import subprocess import json cmd = '''sh ./abc.sh''' p1 = subprocess.Popen(cmd, stdout=subprocess.PIPE) output = p1.communicate()[0] print(type(output)) jstr = output.decode(encoding='utf-8') jObj = json.loads(jstr) jstr2 = json.dumps(jObj, indent=4) print(jstr2)

     /////////////////////////////////////////////////////////////////////////////////////////////////////

    python的 对象类型与序列化类型

    https://realpython.com/python-json/

     c = b.decode(encoding='utf-8')

     type(c)

    <class 'str'>

    当一个print打印出来为 b'xxxxxx'的时候, 就可以decode一下, 成为string打印

     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    python的判断

    a==b 是值相等判断, a is b 是地址相同判断

    a=None, 给a赋值None之后, a==None, a is None -->True

    b=None, a==b, a is b --->True

    如果直接判断 a == c , a is c就会报错

    NameError: name 'c' is not defined

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    python中接种换行写法

    第一种:

    x0 = '<?xml version="1.0"?>' 
         '<ol>' 
         '  <li><a href="/python">Python</a></li>' 
         '  <li><a href="/ruby">Ruby</a></li>' 
         '</ol>'

    第二种:

    x1 = '<?xml version="1.0"?> 
    <ol> 
        <li><a href="/python">Python</a></li> 
        <li><a href="/ruby">Ruby</a></li> 
    </ol>'

    第三种:

    x2 = ('<?xml version="1.0"?>'
          '<ol>'
          ' <li><a href="/python">Python</a></li>'
          ' <li><a href="/ruby">Ruby</a></li>'
          '</ol>')

    第四种:

    x3 = '''<?xml version="1.0"?>
    <ol>
        <li><a href="/python">Python</a></li>
        <li><a href="/ruby">Ruby</a></li>
    </ol>'''

     https://www.cnblogs.com/Jimc/p/9596482.html

    ////////////////////////////////////////////////////////////////////////////////////////

    python执行shell脚本

    抄来的

    # coding=utf-8   //设置文本格式
    import os            //导入os方法
    print('hello')
    n=os.system('/home/csliyb/kjqy_xcy/bdse-tour-dp-2.1/bin/test.sh') //调用shell脚本
    print '执行完毕'

    下面这个有几种方式

    https://www.cnblogs.com/hei-hei-hei/p/7216434.html

  • 相关阅读:
    20100320 ~ 20100420 小结与本月计划
    datamining的思考
    谈谈网络蜘蛛 爬开心网001的一些体会
    将 ASP.NET MVC3 Razor 项目部署到虚拟主机中
    Eclipse代码中中文字显示很小的解决办法
    U8800一键ROOT删除定制软件 安装新版Docment to go
    Android(安卓) U8800 长按 搜索键、返回键 锁屏或解锁的设置方法
    JDK5.0新特性系列3.枚举类型
    JDK5.0新特性系列1.自动装箱和拆箱
    网游运营基本概念及专业术语
  • 原文地址:https://www.cnblogs.com/tekikesyo/p/11011242.html
Copyright © 2020-2023  润新知