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

      文件操作通常用来存储程序结果,以便下次可以直接使用,不必要重新运行一遍。文件操作最基本的三步:1.打开文件或者新建文件  2. 读或者写  3 关闭文件流保存数据。

    Python 访问模式如下:

    打开、关闭文件

    f = open("dirTest.py","r")
    print("打开的文件信息:%s"%f)
    f.close()
    print("文件名:%s,访问模式:%s, 是否关闭:%s"%(f.name,f.mode,f.closed))
    
    输出:
        打开的文件信息:<_io.TextIOWrapper name='dirTest.py' mode='r' encoding='UTF-8'>
        文件名:dirTest.py,访问模式:r, 是否关闭:True

    文件读与写

    (1)写数据。使用write()可以将数据写入指定文件。

    f = open('test.txt',"w")
    f.write("正在练习python语法")
    f.close()
    
    文件内容:
        正在练习python语法

    (2)读数据有三种:

    •  read(size)从指定文件读取size个字节数据,如果没有指定将读取整个文件数据
    • readlines()将对文件逐行读取整个文件,返回的是一个list,其中的每个元素代表文件中的一行数据
    • readline()从文件中读取一行数据
    f = open("test.txt",'r')
    read = f.read()
    print("read:%s"%read)
    f.seek(0,0)
    lines = f.readlines()
    print("readlines:%s"%lines)
    f.seek(0,0)
    line = f.readline()
    print("readline:%s"%line)
    f.close()
    
    输出:  
    read:1正在练习python语法
    2正在练习python语法
    3正在练习python语法
    4正在练习python语法
    5正在练习python语法
    6正在练习python语法
    readlines:['1正在练习python语法
    ', '2正在练习python语法
    ', '3正在练习python语法
    ', '4正在练习python语法
    ', '5正在练习python语法
    ', '6正在练习python语法
    ']
    readline:1正在练习python语法

      如果我们在读取一个未知文件时,不知道文件会有多大,如果一次全部加载可能导致机器的内存不够用,这时我们可以每次取一部分数据多次完成即可。下面的例子是一个复制文件的例子:

    fileName = input("请输入要复制的文件名:")
    position =fileName.rfind('.')
    newFileName = fileName[:position] + '副本' + fileName[position:]
    #打开文件
    oldFile = open(fileName,'r')
    #新建一个文件
    newFile = open(newFileName,'w')
    #写数据
    while True:
       content = oldFile.read(1024)
       if len(content) == 0:
           break
       newFile.write(content)
    
    #关闭文件
    oldFile.close()
    newFile.close()
    
    输出:
        请输入要复制的文件名:test.txt
        1正在练习python语法
        2正在练习python语法
        3正在练习python语法
        4正在练习python语法
        5正在练习python语法
        6正在练习python语法

    文件位置信息

    • tell() 返回文件指针当前位置
    • seek(offset,from)

      offset:偏移量

      from :方向,0:表示文件开头,1:表示当前位置,2:表示文件末尾

  • 相关阅读:
    Linux熟悉命令
    Spring boot
    python jdbc操作数据库
    python 获取异常
    EntityFramework6 in github
    Java classloader机制测试命令
    SinalR
    asp.net httpmodule问题
    VMVare虚拟机的异常处理---内部错误
    Oracle11g客户端安装及plsql配置
  • 原文地址:https://www.cnblogs.com/jsnhdream/p/10014959.html
Copyright © 2011-2022 走看看