zoukankan      html  css  js  c++  java
  • python问题记录

    1、Linux环境下高亮打印:print "33[93mWARNING:33"
    2、断点:
    import pdb
    pdb.set-trace()
    3、self.assertEqual(a,b,msg=msg) #判断a与1.b是否一致,msg类似备注,可以为空
    4、lstrip([chars]) chars --指定截取的字符
    返回截掉字符串左边的空格或指定字符后生成的新字符串。
    str = " this is string example....wow!!!"
    print(str.lstrip()) #this is string example....wow!!!
    str = "88888this is string example....wow!!!"
    print(str.lstrip('8')) #this is string example....wow!!!
    str = "8885488this is string example....wow!!!"
    print(str.lstrip('8')) #5488this is string example....wow!!!
    5、str.lower(): 转换字符串中所有大写字符为小写

    6、json.dumps()函数是将一个Python数据类型列表进行json格式的编码
    json.loads()函数是将将已编码的 JSON 字符串解码为 Python 对象

    7、Python内置函数——__import__():
    函数功能用于动态的导入模块,主要用于反射或者延迟加载模块。
    __import__(module)相当于import module
    8、Python内置函数(25)——getattr():
    getattr(object, name[, default])
    函数功能是从对象object中获取名称为name的属性,等效与调用object.name。
    函数第三个参数default为可选参数,如果object中含义name属性,则返回name属性的值,如果没 有name属性,则返回default值,如果default未传入值,则报错
    9、setattr(object, name, values):给对象的属性赋值,若属性不存在,先创建再赋值
    hasattr(object, name):判断对象中是否有name的属性或方法,有返回True,没有返回false
    getattr(object, name[,default]):获取对象 object 的属性或者方法,若存在则打印出来;若不存在,则打印默认值,默认值可选。

    10、subprocess模块
    允许生成新的进程,连接到它们的 input/output/error 管道,并获取子进程的返回(状态)码
    subprocess.call() 执行指定的命令,返回命令执行状态,其功能类似于os.system(cmd)
    subprocess.Popen(args,)用来创建新的进程
    args参数:args参数。可以是一个字符串,可以是一个包含程序参数的列表。要执行的程序一般就 是这个列表的第一项,或者是字符串本身。
    communicate() #返回标准输出和标准出错 元组:(stdoutdata, stderrdata)

    11、str.splitlines([keepends])
    Python splitlines() 按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

    12、os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False。
    13、 import site
    site.addsitedir()
    将目录添加到sys.path并处理其.pth文件

    14、abspath = os.path.dirname(__file__) 得到当前文件的绝对路径__file__表示了当前文件的path

    15、os.chdir(path) 改变当前工作目录到指定的路径。

    16、python replace()方法:
    str.replace(old, new[, max]):把字符串中的旧字符串替换成新字符串,参数max表示替换不超过 max 次。

    17、split():通过指定分隔符对字符串进行切片,返回分割后的字符串列表

    18、python pandas模块

    19、urllib 模块:提供了一个从指定URL地址获取网页数据,然后对其进行分析处理,获取想要的数据

    20、str.join(sequence)
    python join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串

    21、dict.setdefault(key, default=None)
    返回指定键的值 如果键不在字典中则添加键并将值设为默认值

    22、bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False

    23、re.sub()
    对于输入的一个字符串,利用正则表达式(的强大的字符串处理功能),去实现(相对复杂的)字符串替换处理,然后 返回被替换后的字符串

    24、pip卸载包:pip uninstall XXX

    25、sorted()对所有可迭代对象进行排序操作

    26、python -c command 指定要执行的命令
    python -c "import sys; print(sys.executable)" #/usr/bin/python 查看python的安装路径

    27、python 单元测试框架 ————unittest

    28、os.getpid() 获取进程id
    pid:操作系统中进程识别号

    29、import datetime
    datetime.datetime.now() 获取当前日期

    30、python web.py框架
    web.input() 获取url或是headler的参数 可以用于GET和POST请求包
    web.data() 获取实体正文,只能用于POST请求包
    两种方法返回值都是str类型

    31、python sys.argv[]用法
    sys.argv[]是一个从程序外部获取参数的桥梁,第一个元素[0]是程序本身,随后依次是外部给予的参数

    32、安装报错x86_64-linux-gnu-gcc
    解决办法:sudo apt-get install build-essential python-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev libkrb5-dev libmysqlclient-dev libpq-dev
    sudo apt-get upgrade
    安装python-ldap:apt-get install libsasl2-dev;pip3 install sasl;

    33、创建python虚拟环境:apt-get install python-virtualenv
    virtualenv venv 创建
    source venv/bin/activate or . venv/bin/activate 打开
    deactivate 关闭
    指定解释器创建虚拟环境virtualenv -p /usr/bin/python3.5 名称

    ******
    ******


    34、sys.path.append()和sys.path.insert() 加入临时搜索路径(import)
    sys.path.insert(0,‘/path’),添加的目录会优先于其他目录被import检查

    sys.path.append('..') 表示导入当前文件的上层目录到搜索路径中

    35、os.getcwd()用于获取当前工作目录

    36、os.path.join() 用于文件路径拼接 :
    1、从右边开始数,遇到第一个以”/”开头的参数,开始拼接,这个参数左边的全部丢弃;
    2、以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,会从”./”开头的参数左边相邻的一个参数开始拼接。

    37、super() 函数是用于调用父类(超类)的一个方法。

    38、如果你使用了非 ASCII 字符而且碰到了编码错误,记得在最顶端加一行 # -- coding: utf-8 --

    39、open()与with open() as的区别:用with语句,到达语句末尾时,会自动关闭文件,即使出现异常
    file = open("test.txt","r") with open("test.txt", "r") as file:
    for line in file.readlines(): for line in file.readlines():
    print line print line
    file.close()
    相当于:file = open("test.txt","r")
    try:
    for line in file.readlines():
    print line
    except:
    print "error"
    finally:
    file.close()

    40、product(list1,list2)依次取出list1中每1个元素,与list2中的每1个元素,组成元组(笛卡儿积),将所有元组组合成一个列表返回

    41、python cgitb模块 提供了一个特殊的异常管理器该模块激活后,如果发生了未捕获的异常,将会展示格式化的输出报告。该报告包括源代码每一层的回溯,以及当前执行程序的参数和局部变量 可以选择将这些信息存到一个文件里

    42、Terminal 打印有颜色的字体 magenta品红
    from blessings import Terminal
    term = Terminal()
    name = "lhs"
    print """==================================
    Running health check on: %s ...
    ==================================""" % (term.magenta(name))

    43、os.environ['USER']:当前使用用户
    os.environ.keys() 字段列表

    44、round() 方法返回浮点数x的四舍五入值。

    45、reverse() 函数用于反向列表中元素 remove()函数用于删除列表元素 list.insert(index, obj)将指定对象插入到列表的指定位置

    46、
    from datetime import date, datetime
    date.today() #2019-03-22
    datetime.today() #2019-03-22 10:28:17.673110

    47、filter(function, iterable)过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表(python3是迭代器对象)

    48、python setup.py 方式安装
    python setup.py build
    python setup.py install

    49、Linux python环境配置

    安装pip: sudo apt-get install python-pip
    安装环境依赖:sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev libkrb5-dev
    sudo apt-get upgrade

    升级setuptools:pip install --upgrade setuptools
    升级pip: python -m pip install --upgrade pip

    50、需求文件requirements.txt的创建及使用
    生成: pip freeze >requirements.txt
    使用:pip install -r requirements.txt

    51、查看python的默认编码:
    import sys
    reload(sys)
    print sys.getdefaultencoding()

    52、os.listdir():返回一个列表,其中包含有指定路径下的目录和文件的名称
    os.path.isdir()用于判断某一对象(需提供绝对路径)是否为目录
    os.path.isfile()用于判断某一对象(需提供绝对路径)是否为文件


    53、re 正则表达式
    re.match方法用于尝试从字符串的起始位置匹配一个正则表达式

    54、Ubuntu14.4安装python3.5
    sudo add-apt-repository ppa:fkrull/deadsnakes
    sudo apt-get update
    sudo apt-get install python3.5
    sudo apt-get install python3-pip
    sudo cp /usr/bin/python3 /usr/bin/python3_bak,先备份
    sudo rm /usr/bin/python3,删除
    sudo ln -s /usr/bin/python3.5 /usr/bin/python3,默认设置成python3.5

    55、忽略安装pip包:pip3 install docker-compose==1.10.0 --ignore-installed requests

    56、直接用unzip命令解压.egg python安装包文件

    57、访问 .py文件的网页的时候会出现 Exec format error的问题
    一般情况下是由于基于Unix(Linux,Mac OS)系统下的问题,办法如下
    1 .chmod +x filename  filename是要访问的文件名称,设置了以后文件具有可执行权限才能被web服务器访问
    2.在程序第一行加入:
      #! /usr/bin/env python  如果是python3运行的话把 python 换成 python3

    60、namedtuple:元组、可以看作字典,通过名字进行访问,其中值不能改变
    #####
    from collections import namedtuple
    Person = namedtuple('Person','name age')
    obj = Person('Tom',12)
    print(obj.name)
    print(obj.age)
    #####

    61、python之collections之counter
    Counter:计数器,用于追踪值出现的次数
    ######
    from collections import Counter
    obj = Counter("aaabbbccc")
    print(obj) #Counter({'a': 3, 'b': 3, 'c': 3})
    ######

    62、deque 双向队列
    ######
    import collections
    d = collections.deque()
    d.append(1)往右边添加一个元素
    d.appendleft(2)往左边添加一个元素
    ######

    63、selenium
    selenium 是一个 web 的自动化测试工具

    64、enumerate()
    函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据下标和数据
    seq = ['one', 'two', 'three']
    for i, element in enumerate(seq):
    print i, element

    0 one
    1 two
    2 three

    65、pickle.dumps


    66、urljoin


    67、pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com 包名

    68、pm2设置开机启动程序
    sudo pm2 start xxxx // 启动服务
    sudo pm2 save // 保存服务
    sudo pm2 startup // 把已启动服务加到systemd中
    sudo systemctl reboot // 重启,发现之前的服务都已经启动
    sudo pm2 unstartup systemd // 删除自动启动服务

    pm2 logs id 查看日志
    pm2 show id 查看程序详细情况

    pm2 start app.js --name="api" 重命名












  • 相关阅读:
    Saltstack module apache 详解
    Saltstack module ip 详解
    Saltstack module iosconfig 详解
    Saltstack module introspect 详解
    Saltstack module inspector 详解
    Saltstack module ini 详解
    Saltstack module incron 详解
    Modbus 指令 RS485指令规则
    停车系统对接第三方在线支付平台(二)
    停车系统对接第三方在线支付平台
  • 原文地址:https://www.cnblogs.com/lhsblog/p/12775876.html
Copyright © 2011-2022 走看看