zoukankan      html  css  js  c++  java
  • Python文件操作

    在 Python 中要操作文件需要记住 1 个函数和 3 个方法

    open 函数负责打开文件,并且返回 文件对象

    read/write/close 三个方法都需要通过 文件对象 来调用

    新建(打开)文件和关闭文件

    在python,使用open函数,可以打开一个已经存在的文件,或者如果该文件不存在,则会创建一个新文件。

    格式如下:open("文件名",访问模式) ,默认的创建的目录在当前程序所在的目录。

    常用的访问模式:

    因为文件的读取是流式的,像一个水管的阀门一样。每次读取操作的文件的时候,要先打开阀门open(),所以用完也要关闭。

    # 新建一个文件,文件名为:test.txt
    f = open('test.txt', 'w')
    # 关闭这个文件,文件操作完毕要将流给关闭
    f.close()
    

    文件的读写操作read/write

    写数据:使用write(“content”),可以完成向文件写入数据,注意:如果文件不存在那么创建,如果存在那么就先清空文件(覆盖),然后写入数据到文件里。

    f = open('write_demo.txt', 'w') #打开文件,往哪个文件里写入数据。如无,创建。
    print ("文件名为: ", f.name)  #f.name打印文件的名称,带拓展名
    f.write('hello ,I am writing ') #注意write写入是先将文件内容清空,然后再写入。
    f.close() #关闭文件
    

    读数据:使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(字符个数),如果没有传入num或者为负,那么就表示读取文件中所有的数据,read()将读取的数据以字符串的形式返回。

    注意:

    • 如果open是打开一个文件,那么可以不用写打开的模式,即只写 open('aaa.txt')

    • 如果使用read读了多次,那么后面继续使用read读取的数据是从上次读完后的位置开始的

    • read ()方法默认会把文件的所有内容 一次性读取到内存,当然可以指定读取的字符数。如果文件太大,对内存的占用会非常严重

    #1.准备文件
    f = open('write_demo.txt', 'w+') #新建文件,w+表示用于读写
    f.write('你好abc王晓明,hello ')  #写入内容
    f.close() #文件关闭
     
    #1.读取文件开始
    f=open("write_demo.txt",'r')
    content=f.read(3)  #3表示读取3个字符,虽然说是byte。但是有中文时实际按字符返回的
    print("读取的内容:%s"%content)
    content1=f.read(1)  #注意如果用read(),读取全部,后面再加read(num),就没有内容可读了。返回空字符串
    print("读取文件的内容:%s"%content1)
    content2=f.read(5)
    print("读取文件的内容:%s"%content2)
    f.close()
    
    
    '''
    读取的内容:你好a
    读取文件的内容:b
    读取文件的内容:c王晓明,
    '''
    

    读数据:readlines()可以按照行的方式把整个文件中的内容进行一次性读取,读取所有行(直到结束符 EOF)并返回列表,并且返回的是一个列表,其中每一行(按着换行符进行判断一行)的数据为一个元素。

    f = open('test.txt', 'r')
    content = f.readlines() #读取文件中的全部行,按行划分存储到列表中,类型字符串
    print(type(content))  #打印读取结果的值类型,用list列表存储
     
    i=1  #遍历列表,将读取的内容显示出来,按照原来文件的行划分。
    for temp in content:
        print("%d:%s"%(i, temp))
        i+=1
    f.close()
    '''
    <class 'list'>
    1:hello,world,
    2:this is a demo
    '''
    

    读数据:readline(),对原文件的数据按行读取,(行的划分是 )。每次只读取一行。如果有多次读取的话,下面一次读取的偏移量是上面读取后的偏移量。

    
    f = open('test.txt', 'r')
    content = f.readline()
    print("第一次读取:%s"%content)
     
    content = f.readline()
    print("第二次读取:%s"%content)
     
    f.close()
    '''
    第一次读取:hello,world,
    第二次读取:this is a demo
    '''
    

    ————————————————
    版权声明:本文为CSDN博主「涤生手记」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_26442553/java/article/details/81626442

  • 相关阅读:
    pymssql连接Azure SQL Database
    Python升级后ssl模块不可用问题解决和浅析
    CentOS 7升级Python到3.6.6后yum出错问题解决总结
    Python监控SQL Server数据库服务器磁盘使用情况
    fastjason常用方法
    类型擦除真的能完全擦除一切信息吗?java 泛型揭秘
    spring boot打包成war包的页面该放到哪里?
    为什么delete后磁盘空间没有释放而truncate会释放?
    leetcode 977. Squares of a Sorted Array
    leetcode 844. Backspace String Compare
  • 原文地址:https://www.cnblogs.com/Uni-Hoang/p/13379826.html
Copyright © 2011-2022 走看看