美文网首页
每天五道面试题(8)

每天五道面试题(8)

作者: 寒暄_HX | 来源:发表于2020-03-19 09:44 被阅读0次
json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?

json数组类型,json对象类型,json对象数组。

import json
from json import JSONEncoder
from datetime import datetime
class ComplexEncoder(JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime):
            return obj.strftime('%Y-%m-%d %H:%M:%S')
        else:
            return super(ComplexEncoder,self).default(obj)
d = {"hello":"你好",'name':'alex','data':datetime.now()}
print(json.dumps(d,cls=ComplexEncoder,ensure_ascii=False))
# {"name": "alex", "data": "2018-05-18 19:52:05","hello":"你好"}
json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
import json
a=json.dumps({"ddf":"你好"},ensure_ascii=False)
print(a) #{"ddf": "你好"}
有用过with statement吗?它的好处是什么?
 with open('output.txt', 'w') as f:
        f.write('Hi there!')

当你要成对执行两个相关的操作的时候,这样就很方便,以上便是经典例子,with语句会在嵌套的代码执行之后,自动关闭文件。这种做法的还有另一个优势就是,无论嵌套的代码是以何种方式结束的,它都关闭文件。如果在嵌套的代码中发生异常,它能够在外部exception handler catch异常前关闭文件。如果嵌套代码有return/continue/break语句,它同样能够关闭文件。

使用代码实现查看列举目录下的所有文件。
import os
 
def dirpath(lpath, lfilelist):
    list = os.listdir(lpath)
    for f in list:
        file = os.path.join(lpath, f)  #拼接完整的路径
        if os.path.isdir(file):        #判断如果为文件夹则进行递归遍历
            dirpath(file, lfilelist)
        else:
            lfilelist.append(file)
    return lfilelist
 
 
lfilelist = dirpath(os.getcwd(), [])
for f in lfilelist:
    print(f)
简述 yield和yield form关键字。

yield用来返回一个元素,yield form用来返回一个生成器。

相关文章

  • 每天五道面试题(8)

    json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型? json数组类型,json对象类型...

  • 2.10 Python-面试题 - 子目录

    0.0 总目录 每天五道面试题(1)为什么学习Python?通过什么途径学习的Python?Python和Java...

  • 每天五道面试题(4)

    xrange和range的区别? 只有在python2中才有xrange和range,python3中没有xran...

  • 每天五道面试题(3)

    如何用两个栈做一个队列 进队:一号栈进栈出队:如果二号栈为空,则一号栈出栈依次到二号栈,二号栈依次出栈。如果二号栈...

  • 每天五道面试题(5)

    logging模块的作用?以及应用场景? 为应用开发实现了一个灵活的事件日志系统。通常用来排错,记录操作与记录用户...

  • 每天五道面试题(6)

    Python面向对象中的继承有什么特点? 1、在继承中基类(父类)的构造(__ init__()方法)不会被自动调...

  • 每天五道面试题(2)

    进栈出栈问题 有三个元素,ABC进栈,那么以下哪一种不可能是出栈顺序呢 ABCACBBCABACCBACAB CA...

  • 每天五道面试题(7)

    如何判断是函数还是方法? 函数:函数是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建...

  • 每天五道面试题(1)

    为什么学习Python? 因为Python是一款简洁,优雅的语言。我本身因为对Hadoop生态的学习,有一定的Ja...

  • 面试题随想

    8.24刘润商学院日课感悟:面试题随想 对于五道面试题当时也有过研究甚至寻找过答案。听了今天的解题思路得出其实...

网友评论

      本文标题:每天五道面试题(8)

      本文链接:https://www.haomeiwen.com/subject/whdkyhtx.html