Python进阶-pickle/eval/exec

Posted 下划线是我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python进阶-pickle/eval/exec相关的知识,希望对你有一定的参考价值。

  • 参考:
    •   eval/exec/compile的区别:https://stackoverflow.com/questions/2220699/whats-the-difference-between-eval-exec-and-compile-in-python
    •   pickle的使用: https://pythontips.com/2013/08/02/what-is-pickle-in-python/
  • 背景
    • 之前用打印到文件,逐行读出用eval转换格式。现在用pickle可直接实现。
  • pickle_eval_exec的区别:
    • pickle: dump到file, 从file中load
    • eval: eval accepts only a single expression, eval returns the value of the given expression。
    • exec: exec can take a code block that has Python statements: loops, try: except:class and function/method definitions and so on. return None.
  • Pickle的使用:(pickle.load(), pickle.dump())
import pickle

a = [test value,test value 2,test value 3]
a
[test value,test value 2,test value 3]

file_Name = "testfile"
# open the file for writing
fileObject = open(file_Name,wb) 

# this writes the object a to the
# file named ‘testfile‘
pickle.dump(a,fileObject)   

# here we close the fileObject
fileObject.close()
# we open the file for reading
fileObject = open(file_Name,r)  
# load the object from the file into var b
b = pickle.load(fileObject)  
b
[test value,test value 2,test value 3]
a==b
True

 

以上是关于Python进阶-pickle/eval/exec的主要内容,如果未能解决你的问题,请参考以下文章

Python 进阶都要学啥?

python进阶:面向对象进阶

Python语法进阶

PYTHON进阶

Python进阶---面向对象第三弹(进阶篇)

Python学习之路