• python IO文件操作 file文件操作


    文件的打开和关闭
    python提供了必要的函数和方法进行默认情况下的文件基本操作,你可以用file对象做大部分的文件操作
    注意点:操作的对象是文件,这里讲解的实例是txt文本文件的操作
     
    文件读取都是字符串类型,写入也要以字符串格式
    打开文件函数: open(他是一个内置函数,可以直接调用)
    语法file object =open(file_name [,access_mode]) ----这里我们会创建一个file对象
    各个参数解释如下
    file_name:fime_name变量是一个包含了你要访问的文件名称的字符串值
    access_mode:acess_mode决定了打开文件的模式:只读 写入,追加等。这个参数是非强制的,默认文件访问模式为只读(r)
     
    r   以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    w     打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+   打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a     打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+   打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
     
    例:f = open('123','r')  
    例:
    fs=open("C:\Users\Ivan\Desktop\file.txt")              在同一级目录下,可以直接写文件名,不在同一目录下,要写完整路径,必须用\  。open是把文件内容以str文件流的方式读到fs这个池子里面
    print(fs.read())     读取所有内
    fs.readline() 读取整行,默认起始位置在最开始        用的不多,主要是内存不够读取所有内容时才会用
    fs.readlines
    读取
    print(fs.readlines())                       //遍历文件里所有内容 
    for line in fs.readlines():
         print(line)
    区别:
    .read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。
    .readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()
     
    fs = open("peseoo","w")
    zn='''
    a meilidezuoguo
    a meilidejiangxiang
    a meilidediqiu
    zaaaaaaaa
    '''
    fs.write(zn)    写入
    fs.write("helflo,hello") 在没有close之前多次调用write都是在最后继续追加内容
    fs.close()   一旦关闭之后,再次写入的话前面的内容就会被后面的内容冲掉
    fss = open("peseoo","w")   
    ab='''
    adbd
    efsn
    sss
    '''
    fss.write(ab)
    fss.close()             
     
    fs.write(zn)          fs.write()将字符串写入文件,没有返回值。
    fs.close()             fs.close()关闭文件。关闭后文件不能再进行读写操作。关闭时自动保存
    追加
    fsss=open("peseoo","a")
    fsss.write(" my name is zhounuo") 是换行符
    fsss.close()
     
    文件的读写操作
    file对象提供了一系列的方法,让我们实现对文件的读写
    read()方法:
    1)read(count)方法从一个打开的文件中读取一个字符串
    2)里面传递你要读取的字节数
    3)如果不传递,默认读取所有数据
    4)读完了之后,指针会定位到读完之后的位置‘
     
    write()方法
    write()方法可将任何字符串写入一个打开的文件
    注意write()方法不会再字符串的结尾添加换行符(’ ‘),无法实现自动换行操作
    .()writelines :里面传入你要的列表内容,就可以写入多行
    fsss=open("peseoo","a")
    fsss.writelines([" wo are taliking"," wo are taliking"," wo are taliking"])
    fsss.close()
    打印结果:
    wo are taliking
    wo are taliking
    wo are taliking
    文件对象的属性
    一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息
    一下是和file对象相关的常用属性列表
    file.closed  如果文件已被关闭返回true,否则返回false
    flie.mode 返回被打开的文件的访问模式
    file.name 返回文件的名称
     
    文件定位
    1) tell()方法告诉你文件内的当前位置,换句话说,文字会写在上次文字结尾后面
    fsss=open("peseoo","a")
    fsss.writelines([" wo are taliking"," wo are taliking"," wo are taliking"])
    fsss.close()
    fsss=fsss=open("peseoo","r")
    for line in fsss.readlines():
        print(fsss.tell())
        print(line)
    结果:
    476
    my name is zhounuowo are talikingwo are talikingwo are taliking
     
    476
    my name is zhounuowo are talikingwo are talikingwo are taliking
     
    2)seek(offset[,from])方法改变当前文件位置,offset变量表示要移动的字节数,from变量指定开始移动字节的参考位置
    0:参考位置为文件开头
    1:参考位置设为当前所在位置
    2:参考位置设为文件结尾
     
    os模块
    一 os模块概述
    python os模块包含普遍的操作系统功能,如果你希望你的程序能够与平台无关的话,这个模块尤为重要
     
    import os
    二 常用方法
    1.os.name
    输出字符串指示正在使用的平台,如果是window则用’nt‘表示
    对于linux/unix用户,它是posix
    2.os.getcwd()函数得到当前工作目录,及当前python脚本工作的目录路径   返回当前工作目录
    3.os.listdir(path)返回path指定目录下的所有文件和目录名
    4.os.mkdir(path)创建一个目录
    5.os.remove()删除一个文件
    6.os.rmdir()删除一个目录
    7.os.makedirs(path)创建一系列目录
    8.os.environ("path")获取环境变量值
    9.os.system(command)运行系统命令
     
    import os
    print(os.getcwd())               C:UsersIvanPycharmProjectsgerenxinxi
    print(os.name)                    nt
    print(os.listdir(os.getcwd()))       ['.idea', 'aaa', 'ddd', 'hanshu.py', 'peseonaninfo', 'peseoo', '个人信息', '作业']
    os.mkdir("lianxi")
    os.mkdir("D:\ALLY\lianxixi")   在指定目录创建文件
    dirs="D:\ALLY\lianxixiI\TT"
    print(os.path.exists(dirs))  //判断此路径文件是否存在,创建文件时只能最后一个文件不存在
    os.makedirs(dirs) 创建多个文件夹
     
    os模块path
    os.path.join(path.name)连接目录与文件名或目录
    os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
    os.path.exists()函数用来检验给出的路径是否真的存在
    os.path.split(路径)函数返回一个路径的目录名和文件名
    os.path.splitxt(路径)分离文件名与扩展名
    os.path.dirname(path)返回文件路径
    os.path.basename(path)返回文件名
    os.path.getsize(name)获得文件大小,如果name是目录返回OL
     
    PIL模块应用
    以前叫PIL现在叫pillow
    安装:安装失败,可能需要FQ,直接安装到lib下面的site-package里面去,执行在线安装命令是pip install pillow
    语法:
    from PIL import ImageGrab
    im=ImageGrab.grab()
    im.save(‘thumbnail’.'jpeg')
    更详细强大的用法:http://pillow.readthedocs.io/en/4.2.x/

  • 相关阅读:
    向量空间模型 词袋模型
    python 小点
    python list的append()和extend()方法
    numpy 数组运算
    内置函数和numpy中的min(),max()函数
    python index()函数
    Python支持的正则表达式元字符和语法
    Python多线程
    查看linux机器配置&内核版本
    Shell获取文件的文件名和扩展名的例子
  • 原文地址:https://www.cnblogs.com/nuonuozhou/p/8645070.html
Copyright © 2020-2023  润新知