Notes for python (3)

储存器

Python提供一个标准的模块,称为 pickle。使用它你可以在一个文件中储存 任何Python 对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。
还有另一个模块称为 cPickle,它的功能和 pickle模块完全相同,只不过它是用C语 言编写的,因此要快得多(比 pickle快1000倍)。你可以使用它们中的任一个,而我们在这里将使用 cPickle模 块。记住,我们把这两个模块都简称为 pickle模块。

储存与取储存

#!/usr/bin/python
# Filename: pickling.py

import cPickle as p
#import pickle as p

shoplistfile = 'shoplist.data'
# the name of the file where we will store the object

shoplist = ['apple', 'mango', 'carrot']

# Write to the file
f = file(shoplistfile, 'w')
p.dump(shoplist, f) # dump the object to a file
f.close()

del shoplist # remove the shoplist

# Read back from the storage
f = file(shoplistfile)
storedlist = p.load(f)
print storedlist

sys模块

sys模块包含系统对应的功能。我们已经学习了 sys.argv列表,它包含命令行参数。

命令行参数

例14.1 使用sys.argv
#!/usr/bin/python
# Filename: cat.py


import sys

def readfile (filename):
    '''Print a file to the standard output.'''
    f = file (filename)
    while True :
        line = f.readline()

        if len (line) == 0 :
            break
        print line, # notice comma
    f.close()

# Script starts from here
if len ( sys .argv) < 2 :
    print 'No action specified.'
    sys .exit()

if sys .argv[ 1 ].startswith( '--' ):
    option = sys .argv[ 1 ][ 2 :]
    # fetch sys.argv[1] but without the first two characters
    if option == 'version' :
        print 'Version 1.2'
    elif option == 'help' :
        print '''\
This program prints files to the standard output.
Any number of files can be specified.
Options include:
  --version : Prints the version number
  --help    : Display this help'''

    else :
        print 'Unknown option.'
    sys .exit()
else :
    for filename in sys .argv[ 1 :]:
        readfile(filename)

列表综合

通过列表综合,可以从一个已有的列表导出一个新的列表。例如,你有一个数的列表,而你想要得到一个对应的列表,使其中所有大于2的数都是原来的2 倍。对于这种应用,列表综合是最理想的方法。

使用列表综合

例15.1 使用列表综合
#!/usr/bin/python
# Filename: list_comprehension.py


listone = [ 2 , 3 , 4 ]
listtwo = [ 2 *i for i in listone if i > 2 ]
print listtwo

你可能感兴趣的:(python,职场,休闲)