前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录python一些技巧

记录python一些技巧

作者头像
公众号---人生代码
发布2019-10-24 18:08:30
4880
发布2019-10-24 18:08:30
举报
文章被收录于专栏:人生代码人生代码
记录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:
代码语言:javascript
复制
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
代码语言:javascript
复制
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
代码语言:javascript
复制
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不按照特定顺序排序)
代码语言:javascript
复制
files = os.listdir('.')
# [:-4]=.后缀
files.sort(key = lambda x:int(x[:-4]))
10、shutil.rmtree删除中文目录提示错误处理方式
代码语言:javascript
复制
import shutil
shutil.rmtree(ur'E:\XX\中文目录)
# 在路径前面加u代表对字符串进行unicode编码
11、自动补0
代码语言:javascript
复制
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'
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CryptoCode 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 记录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:
              • 6、实现接受str或unicode,并总返回str
                • 7、用列表推导来取代map和fileter
                  • 8、合并pdf
                    • 9、文件排序(os.listdir不按照特定顺序排序)
                      • 10、shutil.rmtree删除中文目录提示错误处理方式
                        • 11、自动补0
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档