专栏首页志学Python记录python一些技巧

记录python一些技巧

记录python一些技巧

1、使用if a is not b,而非if not a is b
2、不用if len(somelist) == 0来检查空值,而用if not somelist来检查(它会假定:空值将自动评估为False)。
3、检测是否为非空值时,用if somelist会默认把非空值判断为True
4、引入模块的时候,总是应该使用绝对名称,而不应该根据当前模块的路径来使用相对名称。例如,引入bar包中的foo模块时,应该完整写出from bar import foo。如果一定要用相对名称来编写import语句,那就采用明确的写法:from.import foo。import语句按顺序分三部分,分别代表标准库模块、第三方模块及自用模块,在每一部分中,各import语句应该按模块的字母顺序来排序。
5、实现接受str或unicode,并总返回unicode:
def to_unicode(unicode_or_str):
    if isinstance(unicode_or_str,str):
        value = unicode_or_str.decode('utf-8')
    else:
        value = unicode_or_str
    return value
6、实现接受str或unicode,并总返回str
def to_str(unicode_or_str):
    if isinstance(unicode_or_str,unicode):
        value = unicode_or_str.encode('utf-8')
    else:
        value = unicode_or_str
    return
7、用列表推导来取代map和fileter
8、合并pdf
import os
from PyPDF2 import PdfFileReader,PdfFileMerger
files_dir = 'e:\\pdf'
pdf_files = [f for f in os.listdir(files_dir) if f.endswith('pdf')]
merger = PdfFileMerger()
for filename in pdf_files:
    merger.append(PdfFileReader(os.path.join(file_dir,filename),'rb'))
merger.write(os.path.join(files_dir,'merged_full.pdf'))
9、文件排序(os.listdir不按照特定顺序排序)
files = os.listdir('.')
# [:-4]=.后缀
files.sort(key = lambda x:int(x[:-4]))
10、shutil.rmtree删除中文目录提示错误处理方式
import shutil
shutil.rmtree(ur'E:\XX\中文目录)
# 在路径前面加u代表对字符串进行unicode编码
11、自动补0
n = '123'
s = n.zfill(5)
print s
>>>
'00123'

n = '-123'
s = n.zfill(5)
print s
>>>
'-0123'

# 对于纯数字,可以通过格式化的方式来补0
n = 123
s = '%05d' % n
print s
>>>
'00123'

本文分享自微信公众号 - 志学Python(gh_755651538c61),作者:志学Python

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 中的 组合

    组合是一个面向对象的设计概念,模型a是有关系的。在composition中,一个称为composite的类包含另一个称为component的类的对象。换句话说,...

    公众号---志学Python
  • 使用Vue 3构建更好的高阶组件

    高阶组件(HOC)是使用模板声明性地向您的应用程序添加某些功能的组件。我相信即使引入了Composition API,它们仍将保持非常重要的关联。

    公众号---志学Python
  • python慢画炫彩圆圈_pygame绘画与动画

    公众号---志学Python
  • 以指定编码对字符串进行截取

    这里从len/2开始试着截取字符串,截取后调用getRealLen方法获取真实长度,判断是否超出限定的长度

    meteoric
  • Spring系列第5篇:创建bean实例这些方式你们都知道?

    调用类的构造方法获取对应的bean实例,是使用最多的方式,这种方式只需要在xml bean元素中指定class属性,spring容器内部会自动调用该类型的构造方...

    路人甲Java
  • (收藏)控制面板都卸载不掉的Microsoft Office,该怎么办?

    Microsoft Office 的安装可能会出现很多问题,其中有很大一部分就是因为之前的Office没有卸载干净,同时,卸载Office的时候可能会出现很多问...

    课代表
  • 「NewSQL技术」Greenplum 6中的OLTP负载性能提升60倍以上

    Greenplum 6包含了针对OLTP场景的多个优化,极大地提高了高并发情况下简单查询、插入、删除和更新操作的性能。这些改进包括:

    首席架构师智库
  • Sqoop基础学习(1)

    1. Sqoop的导入过程 在开始导入之前,Sqoop会通过JDBC来获得所需要的数据库元数据 1.导入表的列名、数据类型等; 2.接着这些数据库的数据类型(v...

    王小雷
  • 世界500强太平洋建设接入好签SDK,保证签批安全、准确性

    近日太平洋建设集团与南京好签软件技术有限公司完成了引进好签签字SDK的合作。据悉,太平洋建设始建于1995年,是一家以基础建设与投资为核心产业,多元化经营的大型...

    BestSDK
  • 表型相关系数与标准误

    我回答:“R中默认的函数有cor计算相关系数,标准误的话估计要用重抽样去操作?,但是很少有人会计算标准误这个数值。”

    邓飞

扫码关注云+社区

领取腾讯云代金券