python:文件操作

打开文件

操作文件
    1打开文件时,需要指定文件路径和打开方式
打开方式:
    r:只读
    w:只写
    a:追加
“+”表示可以同时读写某个文件
    r+:读写
    w+:写读
    a+:同a

U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab
    1 f = open('test.log','r+',encoding='utf-8')
    2 f.write('saf中sdhgrbfds')
    3 print(f.tell())  #查看当前指针位置,以字符为单位
    4 f.seek(4)  #指定当前指针位置,以字节为单位
    5 print(f.read(4))
    6 f.truncate() #读取指针之前的数据
    7 print(f.tell())
    8 f.close()
    View Code
    二:常见的文件运算
    f = open('data', 'r')  #以只读形式打开(默认就是只读)
    f = open('f.txt', encoding='latin-1')   #python3.0 Unicode文件
    string = f.read()      #把文件读入一个字符串中
    string = f.read(N)     #读取指针后的N个字节
    string = f.readline()  #读取下一行,包括行末标识符
    alist = f.readlines()  #读取整个文件到字符串列表
    f.write()              #将字符串写入文件
    f.writelines()         #将列表内所有字符串写入文件
    f.close()              #手动关闭
    f.flush()              #把输出缓冲区刷到硬盘中
    f.seek(N)              #将文件指针移到N处,以字节为单位
    for line in open('data'):  
        print(line)        #文件迭代器将文件一行行读出
    open('f.txt','r').read() #read all at ance into string
    
    
    三:在文件中存储并解析python对象
    x,y,z = 41,42,43
    s = 'spam'
    D = {'a':1, 'b':2} #字典对象
    L = ['a','b','c'] #列表
    f = open('f.txt','w')
    f.write(s + '\n')
    f.write('%s,%s,%s\n'%(x,y,z))
    f.write(str(D))
    f.write('\n')
    f.write(str(L))
    f.close()
    print(open('f.txt').read()) #将文件内容输出
    #从文件中取出数据,并判断其类型
    '''
    a = fi.readline()
    b = fi.readline()
    c = fi.readline()
    d = fi.readline()

    print(a,b,c,d,type(a),type(b),type(c),type(d))
    '''
    # 从文件中取出数据,并转换为存储前的类型
    fi = open('f.txt')
    a = fi.readline().rstrip() #rstrip()去掉换行符
    print(a,type(a))
    b = fi.readline().rstrip().split(',') #字符串的split()方法,在括号中写入分隔符,将字符串分割为列表。
    print(b,type(b))
    c = fi.readline()
    C = eval(c) #调用内置函数eval(),将字符串转化为可执行的python代码。
    print(C,type(C),type(c))
    d = fi.readline()
    D = eval(d)
    print(D,type(D),type(d))

     

posted @ 2016-05-15 09:38  张瑞东  阅读(446)  评论(0编辑  收藏  举报