1. 如何添加路径

主要有以下两种方式:

1> 临时的

import sys

sys.path.append('C:\Users\Victor\Desktop')

2> 永久的

在Linux的配置文件中如/etc/bashrc添加:

export PYTHONPATH=$PYTHONPATH:/home/oracle

2. 如何将Python程序打包为exe文件

1> 下载py2exe文件并安装

注意:选择对应的版本和位数,我Windows上的Python版本是64位的,下载32位的py2exe提示找不到对应的python版本

2> 编写测试程序hello.py

print "Hello,world"raw_input('Press')

3> 编写setup.py --名字随意

from distutils.core importsetupimportpy2exe

setup(console=['hello.py'])

4> 切换到程序当前目录

python setup.py py2exe

最后会在当前目录下生成一个dist文件夹,里面会有一个hello.exe和其它ddl文件,双击hello.exe即可执行。效果如下:

3. 如何捕捉异常

try:

x=input('Enter the first number:')

y=input('Enter the second number:')print x/yexceptException,e:print e

4. win32com模块下载地址

因为本机是win8系统,用的是python 2.6.6 AMD64,对应的应选择2.6 64位的,刚开始选择的是pywin32-219.win-amd64-py2.6.exe,安装过程中报“ImportError: DLL load failed: 找不到指定的模块”错误,在网上也没有查到问题原因和解决方案,最后试着选择了pywin32-217.win-amd64-py2.6.exe,竟然是OK了,估计还是版本不兼容。

5. 在执行python ez_setup.py install时报以下错误

使用“2”个参数调用“DownloadFile”时发生异常:“在 WebClient 请求期间发生异常。”

所在位置 行:1 字符: 106

+ [System.Net.WebRequest]::DefaultWebProxy.Credentials =[System.Net.CredentialCac ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+CategoryInfo : NotSpecified: (:) [], MethodInvocationException+ FullyQualifiedErrorId : WebException

解决方法:

当前执行路径中有中文,需将该脚本放到英文路径下。

6. PEP8

https://www.python.org/dev/peps/pep-0008/

7. 如何打印I love you

比较low的写法

words = ['I', 'love', 'you']

a= ""

for word inwords:

a+= word + ' '

print a

高级写法

print ' '.join(words)

8. 把'I , love, , you'输出为['I', 'love', 'you']

比较low的写法

words = 'I , love, , you'word_list= words.split(',')

result=[]for word inword_list:ifword.strip():

result.append(word.strip())print result

高级写法

print [word.strip() for word in words.split(',') if word.strip()]

9. 对字典进行排序

>>> scores={'LiLei': 94, 'lily': 80, 'lucy': 75, 'HanMeimei': 90}>>> sorted(scores.items(), key=lambda i : i[1], reverse=True)

[('LiLei', 94), ('HanMeimei', 90), ('lily', 80), ('lucy', 75)]

10. 如何只打印字典的key

>>> for k,v inscores.items():

...printk,v

...

LiLei94lily80lucy75HanMeimei90

>>> for item inscores:

...printitem

...

LiLei

lily

lucy

HanMeimei

11. 如何打印列表的下标

>>> a = [1, 2, 3]>>> for index,item inenumerate(a):

...printindex,item

...

01

1 2

2 3

12. 如何对列表进行去重操作

>>> a = [1,2,3,1,1,3,2,1,4,5,6]>>>list(set(a))

[1, 2, 3, 4, 5, 6]

13. 如何对字符串进行反转

>>> word='hello'

>>> word[::-1]'olleh'

14. a,b值如何相互替换

a,b = b,a

15. 最大值,最小值,乘积

>>> numbers=[1,2,3,4,5]>>>max(numbers)5

>>>min(numbers)1

>>> reduce(lambda x,y:x+y,numbers)15

>>> reduce(lambda x,y:x*y,numbers)

16. 如何求1~20每个数的平方

>>> map(lambda x:x*x,xrange(1,21))

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400]>>> [x**2 for x in range(1,21)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400]

17. 判断

if name and langs and info:

等价于 if all((name , langs , info)):

18. 如何安装MySQLdb

pip install MySQL-python

19. PyCharm中设置运行参数

run -> Edit Configuration -> Script parameters

20. 如何将dict转化kwargs

譬如:({'type':'Event'})如何转换为(type='Event')

使用**操作符即可

func(**{'type':'Event'})等价于func(type='Event')

21. Python sort、sorted高级排序技巧

22. Python如果不指定编码方式,默认为ASCII

23. 文件替换

importfileinputfor line in fileinput.input('C:\Users\Victor\Desktop\passwd',inplace=1):print line.replace('daemon','Victor')

24. 如何计算一天前0点的timestamp

第一种方法

importdatetime

now=datetime.date.today()

one_day_before= now + datetime.timedelta(days = -1)

done_day_before_string=one_day_before.strftime('%Y-%m-%d')importtime

done_day_before_timestamp= time.mktime(time.strptime(done_day_before_string,'%Y-%m-%d'))print done_day_before_timestamp

第二种方法

today=time.strptime(time.strftime('%Y-%m-%d'),'%Y-%m-%d')

one_day_before_start=time.mktime(today)-24*60*60

25. Python open文件 读写模式说明

r 打开只读文件,该文件必须存在。

r+ 打开可读写的文件,该文件必须存在。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。

26. 如何将python字典里面的数据按照原始顺序遍历出来

from collections importOrderedDict

dict_1={1:'a',2:'b',4:'d',3:'c'}printdict_1

dict_2=OrderedDict()

dict_2[1]='a'dict_2[2]='b'dict_2[4]='d'dict_2[3]='c'

print dict_2

27. Python的全局变量

python中,在文件中非函数和类里写的变量都是全局变量,注意if __name__ == '__main__':这个不是函数,所以这个下面写的变量也是全局变量。在函数中,要引用全局变量,如果只是读取,可以直接使用,无需声明global,但是如果要改动,不声明global的变量被认为是局部变量。

所以建议在函数中,先用global声明该变量,再使用,如果要使用同名的局部变量,那是容易让人误解的,那么最好的办法是先定义这个变量并给一个初值(否则初值为全局变量的值),并做注释,表明是故意使用这个变量的。当然这种方法很不好,最好的是全局变量用大写,或g_开头,其余变量小写,或不用g_开头。

28. 在win7下安装pip install MySQL-python时报如下错误:

Command "C:\Python27\python.exe -u -c"import setuptools, tokenize;__file__='c:\\users\\administrator\\appdata\\local\\temp\\pip-build-em3ubc\\MySQL-python\\setup.py';exec(compile(getattr(tokenize,'open', open)(__file__).read().replace('\r\n','\n'), __file__,'exec'))" install --record c:\users\administrator\appdata\

local\temp\pip-ujlaiv-record\install-record.txt --single-version-externally-managed--compile"failed with error code 1 in c:\users\administrator\appdata\local\

temp\pip-build-em3ubc\MySQL-python\

解决方法:

29. MySQLdb的相关文章

1> connect方法的参数

2> 常用API

30. 如何生成随机IP

importrandom,socket,struct

ip= socket.inet_ntoa(struct.pack('>I', random.randint(1, 0xffffffff)))print ip

31. Python循环字典的三种方式

tel = {'jack': 4098, 'sape': 4139}for k,v inenumerate(tel):printk,vfor key intel.keys():printkey,tel[key]for k,v intel.iteritems():print k,v

32. 元祖的初始化

需在初始化元素后面添加个逗号

>>> tuple1=('hello')>>> printlen(tuple1)5

>>> tuple2=('hello',)>>> printlen(tuple2)1

33. match()和search()的区别?

match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配,

也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

34. 判断指定文件是否存在

if os.path.exists(r'/tmp/space_usage_123.txt'):

os.remove(r'/tmp/space_usage_123.txt')

35. logging模块

#coding=utf-8

importlogging#第一步,创建一个logger

logger =logging.getLogger()

logger.setLevel(logging.INFO)#Log等级总开关

#第二步,创建一个handler,用于写入日志文件

logfile = './log/logger.txt'fh= logging.FileHandler(logfile, mode='w')

fh.setLevel(logging.DEBUG)#输出到file的log等级的开关

#第三步,再创建一个handler,用于输出到控制台

ch =logging.StreamHandler()

ch.setLevel(logging.WARNING)#输出到console的log等级的开关

#第四步,定义handler的输出格式

formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")

fh.setFormatter(formatter)

ch.setFormatter(formatter)#第五步,将logger添加到handler里面

logger.addHandler(fh)

logger.addHandler(ch)#日志

logger.debug('this is a logger debug message')

logger.info('this is a logger info message')

logger.warning('this is a logger warning message')

logger.error('this is a logger error message')

logger.critical('this is a logger critical message')

36. 如何引用其它模块

需要在目录中创建一个__init__.py文件,文件内容需引入当前目录中的模块 import t1

[root@node1 python]#ls

t2.py test

[root@node1 python]#ls test/

__init__.py __init__.pyc t1.py t1.pyc

[root@node1 python]#cat t2.py#/usr/bin/python

from test importt1

t1.hello()

[root@node1 python]#cat test/t1.py#!/usr/bin/python

defhello():print 'hello,world'[root@node1 python]#cat test/__init__.py

importt1

[root@node1 python]#python t2.py

hello,world

37. time模块转换图

格式化当前时间

print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())

38. getpass模块

输入密码时不会明文显示密码

getuser()取自于系统环境变量LOGNAME, USER, LNAME and USERNAME,优先级从左到右。

#!/usr/bin/python

importgetpass

password=getpass.getpass()print(password)print getpass.getuser()

39. 安装MySQL-python时报错

# pip install MySQL-python

_mysql.c:29:20: error: Python.h: No such file or directory

解决方法:# yum install python-devel

40. 执行python脚本时,报“libmysqlclient.so.18: cannot open shared object file: No such file or directory”错误。

解决方法:# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

41. 如何检测文件的字符集

pip install chardet

print chardet.detect(each_excel)

42. 安装MySQL-python时报“EnvironmentError: mysql_config not found”

设置环境变量,export PATH=$PATH:/usr/local/mysql/bin

43. No module named 'fcntl'

在windows版本的Python中没有这个模块

44. 脚本手动调用没有问题,但通过crontab调用却报 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)

解决方法:

reload(sys)

sys.setdefaultencoding('utf-8')

45. UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)

解决方法:

p.agent_info = u' '.join((agent_contact, agent_telno)).encode('utf-8').strip()

46. python安装完毕后,提示找不到ssl模块的解决步骤

47. python 2.7源码安装

yum install -y gcc zlib zlib-devel openssl openssl-devel readline-devel sqlite-devel bzip2-devel gdbm-devel libdbi-devel ncurses-libs libffi-devel

wget https://www.python.org/ftp/python/2.7.17/Python-2.7.17.tgz

tar xf Python-2.7.17.tgz

cd Python-2.7.17./configure --prefix=/usr/local

vim Modules/Setup

去掉注释

_ssl _ssl.c \-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \-L$(SSL)/lib -lssl -lcrypto

make&&make install

wget https://files.pythonhosted.org/packages/c2/f7/c7b501b783e5a74cf1768bc174ee4fb0a8a6ee5af6afa92274ff964703e0/setuptools-40.8.0.zip

unzip setuptools-40.8.0.zipcd setuptools-40.8.0

python2.7setup.py install

wget https://files.pythonhosted.org/packages/4c/4d/88bc9413da11702cbbace3ccc51350ae099bb351febae8acc85fec34f9af/pip-19.0.2.tar.gz

tar xvf pip-19.0.2.tar.gz

cd pip-19.0.2python2.7 setup.py install

48. timestamp to datetime

datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))

49.  多个or语句合并

'Tom' in s or 'Bob' ins

any(namein s for name in ('Bob', 'Ed'))

50. 字典排序,基于value值,但value是个列表

sorted(myDict.items(), key=lambda i: i[1][0], reverse=True)

51. pip安装指定版本的包

pip install robotframework==2.8.7

52. 多线程模拟MySQL并发操作

#!/usr/bin/python

importthreading,pymysqlimporttimedefthread_print(i):

conn= pymysql.connect("192.168.244.10","pt_user","pt_pass")

cursor=conn.cursor()

sql="select sleep(100)"cursor.execute(sql)

cursor.close()

conn.close()

threads=[]for i in range(30):

threads.append(threading.Thread(target=thread_print,args=(i,)))for th inthreads:

th.start()for th inthreads:

th.join()

53. 对IP进行排序

def split_ip(ip):"""Split a IP address given as string into a 4-tuple of integers."""

return tuple(int(part) for part in ip.split('.'))

ips=["192.168.244.10","192.168.12.234","10.10.12.2"]

ips=sorted(ips,key=split_ip)

54. 使用豆瓣源安装python包

pip3.7 install Django==3.0.4 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

55.  ImportError: No module named main

Traceback (most recent call last):

File"/usr/bin/pip", line 7, in

frompip._internal.cli.main import main

ImportError: No module named main

解决方法:python -m pip install -U pip==8.0.1

56.

python去重保留最大值_Python碎碎念相关推荐

  1. python去重保留唯一一个值_Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)...

    摘要 在进行数据分析时,我们经常需要对DataFrame去重,但有时候也会需要只保留重复值. 这里就简单的介绍一下对于DataFrame去重和取重复值的操作. 创建DataFrame 这里首先创建一个 ...

  2. python中保留小数_python保留小数位的三种实现方法

    前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:fo ...

  3. python除法保留小数_python中的除法_python中除法_python 除法_python 除法保留小数

    首先要说的是python中的除法运算,在python 2.5版本中存在两种除法运算,即所谓的true除法和floor除法.当使用x/y形式进行除法运算时,如果x和y都是整形,那么运算的会对结果进行截 ...

  4. python round保留小数位_Python 中保留指定位数小数用round就可以了吗?

    Python 中保留指定位数小数用round就可以了吗? Python 中保留指定位数小数用round就可以了吗? 在项目实践中,程序员经常会收到产品经理保留指定位数小数的需求. 在Python语言中 ...

  5. python去重txt文本_Python 文件去重(转载)

    原博文 2020-02-14 13:20 − Python实现的txt文件去重功能示例 更新时间:2018年07月07日 09:00:36 作者:人饭子 我要评论 这篇文章主要介绍了Python实现的 ...

  6. python求数组最大值_Python算法与数据结构--求所有子数组的和的最大值

    Python算法与数据结构--求所有子数组的和的最大值 玄魂工作室秘书 玄魂工作室 昨天 题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. ...

  7. python 仅保留数字_Python基本语法元素 | 语法元素分析

    本节课程内容框架 程序的格式框架 缩进:一行代码开始前的空白区域,表达程序的格式框架,分单层缩进和多层缩进,有以下特点: - 严格明确:缩进是语法的一部分,缩进不正确程序运行错误 - 所属关系:表达代 ...

  8. python 列表求最大值_Python找出列表中的最大数和最小数

    Python找出列表中数字的最大值和最小值 思路: 先使用冒泡排序将列表中的数字从小到大依次排序 取出数组首元素和尾元素 运行结果: 源代码: 1 ''' 2 4.编写函数,功能:找出多个数中的最大值 ...

  9. python 仅保留数字_python从入门到入土 | 基本语法元素(一)

    从本篇文章开始,我们就正式开始python语言的学习啦.学习的内容将包括国家计算机二级考纲内容,包括基本语法元素.基本数据类型.程序的控制结构.函数和代码复用.组合数据类型.文件和数据格式化.pyth ...

最新文章

  1. C语言3中方法判断32还是64位机
  2. DataTable RowFilter 过滤数据
  3. Linux给GCC编译的应用程序创建服务
  4. 左偏树 P3377【模板】左偏树(可并堆)
  5. js实时获取窗口大小变化
  6. 汇编语言:实验10 根据材料编程—2.解决除法溢出的问题
  7. Python实现抓取CSDN博客首页文章列表
  8. jquery 读取checkbox
  9. 知识分享:C语言语法总结,初学者可收藏
  10. ZZULIOJ1016
  11. 中国鲆鱼养殖产业呈现集聚趋势,主要集中于山东、辽宁两地「图」
  12. chrome浏览器下载速度慢问题解决办法
  13. web api接口开发实例_vn.py交易API接口开发小班课(第二期)
  14. c# 容联云_迅雷云加速开放平台c#demo
  15. Cannot find current proxy: Set ‘exposeProxy‘ property on Advised to ‘true‘ to make it available.
  16. 重带电粒子的能量歧离(energy straggling)
  17. 【设计模式·Python】创建型模式
  18. 如何捕获access violation异常
  19. 递归--谢宾斯基三角形、赛尔平斯基地毯
  20. 如何非常有礼貌地回复 论文评阅人的 意见?

热门文章

  1. CTFSHOW SSTI篇
  2. 比亚迪开放平台接口——9、变速箱
  3. 基础篇|信贷风控中的外部数据(百行)
  4. java 银行接口_农业银行接口Java-Demo-V3.1.6
  5. 招行23型号UKey在win7上无法识别
  6. jquery实现导航吸顶效果
  7. 微信视频号多账号管理,批量管理 微信视频号批量的使用方法,微信视频号,视频号的使用方法
  8. 连续相位调制CPM调制
  9. uuid通用唯一识别码
  10. [操作系统真象还原3]cpu的8086实模式、显卡、硬盘