python元组,文件的操作

发布时间:2019-09-18 07:27:56编辑:auto阅读(1872)

    新手刚刚开始学习python,如有写错或者写的不好的地方,请大家多多指导!
    python元组相加
    a = (1,2)
    b = (3,4)
    a + b
    元组运用乘法
    (1,2) * 4  #在这里边,元组不会被当成数字来计算,而是输出4次
    给字母类型的元组拍
    t = ('bb,','dd','aa','cc')
    tm = list(t)
    tm.sort()    #然后输出tm
    t = tuple(tm)
    用for的方式运算
    t = (1,2,3,4,5)
    l = [x + 20 for x in t]
    替换元组
    t = (1,[2,3],4)
    t[1][0] = 'spa'   #t元组中第二个数值之后紧挨着的数值
    python文件操作
    常见的文件运算
    output = open(r'd:\a.py', 'w')   创建输出文件(w是指写入)
    input = open('date', 'r')        创建输入文件(r是指读写)
    input = open('date')             与上一行想同(r是默认值)
    input.read()                     把整个文件读取进单一字符串
    input.read(N)                    读取之后的N个字节,到一个字符串
    input.readline()                 逐行读取,第一次读取第一行,第二次读取下一行
    alist = input.readlines()        读取整个文件到字符串列表
    output.write(as)                 写入字节字符串到文件
    output.writelines(alist)         把列表内所有字符串写入文件
    output.close()                   手动关闭(当文件收集完成是会替你关闭文件)
    output.flush()                   把输出缓冲区刷到硬盘中,但不关闭文件
    anyFile.seek(N)                  修改文件位置到偏移量N处以便进行下一个操作
    for line in open('data'): use line  文件迭代器一行一行的读取
    open('f.txt', encoding='latin-1')   python3.0unicode文本文件(str字符串)
    open('f.bin', 'rb')                 python3.0二进制byte文件(bytes字符串)

    实例应用
    myfile = open('myfile.txt', 'w')     #创建一个myfile.txt文件,并打开进行写入
    myfile.write('hello,world\n')        
    myfile.write('good bye'\n)           #\n表示转行
    myfile.close()               #关闭文件 然后打开本地目录,看看文件内容是否一样
    读取文件
    myfile = open('myfile.txt')     #打开文件,默认是只读
    myfile.readline()              #读取第一行
    myfile.readline()              #读取下一行
    把整个文件读取进单一字符串
    open('myfile.txt').read()   #把所以文件一次性读取完,\n之后的表示下一行
    使用打印的方式来读取
    print(open('myfile.txt').read())    #这样处理的结果比较清晰,隔行分开
    用for的方式来逐行读取文件
    for line in open('myfile.txt'):
        print(line,end='')
    以二进制的方法打开文件
    data = open('myfile.txt', 'rb').read()  #这样的话效果不太明显,可以创建文本写入数字开看看
    data[4:8]
    data[0]
    bin(data[0])    #二进制的方式显示一个文件

    文件存储
    x, y, z = 43, 44, 45
    s = 'spam'
    d = {'a': 1,'b': 2}
    l = [1,2,3]
    f = open('data.txt', 'w')
    f.write(s + '\n')    #直接将s插入然后转行
    f.write('%s,%s,%s\n' % (x,y,z))
    f.write(str(l) + '$' str(d) + '\n')    #str输出l + str输出的d
    然后读取看下结果
    a = open('data.txt').read()
    print(a)
    去掉多余的行
    f = open('data.txt')
    line = f.readline()
    line.rstrip()            #移除掉用了转行的\n
    创建2进制文件
    d = {'a': 1,'b': 2}
    f = open('datafile.pk', 'wb')
    import pickle
    pickle.dump(d, f)
    f.close()
    想读取的时候,因为转换成二进制了,还要用pickle读取回来
    f = open('datafile.pk', 'rb')
    a = pickle.load(f)    #在这不知道是什么原因,有时候这样定义的话会报错
    pickle.load(f)        #如果报错的话,就这样来读取
    直接打开二进制文件
    open('datafile.pk', 'rb').read()    #显示的就是一堆二进制数字,而不是插入的数值

    使用struct模块来进行二进制文件的打包和解析
    首先来进行创建
    f = open('data.bin', 'wb')
    import struct
    data = struct.pack('>i4sh',7,'spam', 8)
    f.write(data)
    f.close()
    然后读取
    f = open('data.bin', 'rb')
    data = f.read()
    values = struct.unpack('i4sh', data)   #然后输出values

    新手刚刚开始学习python,如有写错或者写的不好的地方,请大家多多指导!

关键字

上一篇: Python的弱引用

下一篇: python时间操作