记录python一些技巧

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_36772866/article/details/102714119
记录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:

 
 
  1. def to_unicode(unicode_or_str):
  2. if isinstance(unicode_or_str,str):
  3. value = unicode_or_str.decode( 'utf-8')
  4. else:
  5. value = unicode_or_str
  6. return value
6、实现接受str或unicode,并总返回str

 
 
  1. def to_str(unicode_or_str):
  2. if isinstance(unicode_or_str,unicode):
  3. value = unicode_or_str.encode( 'utf-8')
  4. else:
  5. value = unicode_or_str
  6. return
7、用列表推导来取代map和fileter
8、合并pdf

 
 
  1. import os
  2. from PyPDF2 import PdfFileReader,PdfFileMerger
  3. files_dir = 'e:\\pdf'
  4. pdf_files = [f for f in os.listdir(files_dir) if f.endswith( 'pdf')]
  5. merger = PdfFileMerger()
  6. for filename in pdf_files:
  7. merger.append(PdfFileReader(os.path.join(file_dir,filename), 'rb'))
  8. merger.write(os.path.join(files_dir, 'merged_full.pdf'))
9、文件排序(os.listdir不按照特定顺序排序)

 
 
  1. files = os.listdir( '.')
  2. # [: -4]=.后缀
  3. files.sort(key = lambda x:int(x[: -4]))
10、shutil.rmtree删除中文目录提示错误处理方式

 
 
  1. import shutil
  2. shutil.rmtree(ur 'E:\XX\中文目录)
  3. # 在路径前面加u代表对字符串进行unicode编码
11、自动补0

 
 
  1. n = '123'
  2. s = n.zfill( 5)
  3. print s
  4. >>>
  5. '00123'
  6. n = '-123'
  7. s = n.zfill( 5)
  8. print s
  9. >>>
  10. '-0123'
  11. # 对于纯数字,可以通过格式化的方式来补 0
  12. n = 123
  13. s = '%05d' % n
  14. print s
  15. >>>
  16. '00123'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值