首页 > 编程语言 >python学习-python对文件的操作

python学习-python对文件的操作

时间:2024-09-29 09:54:50浏览次数:10  
标签:文件 python 学习 file print txt open example

Python 文件操作指南

一、文件的打开与关闭

(一)打开文件

在 Python 中,可以使用内置的open()函数来打开文件。它接受文件名和模式作为参数,并返回一个文件对象。

  1. 基本语法:

    file = open(file_name, mode)
    • file_name:要打开的文件的名称,可以是相对路径或绝对路径。

    • mode:打开文件的模式,如'r'表示只读模式,'w'表示写入模式,'a'表示追加模式等。

  2. 示例:

    # 以只读模式打开文件
    file = open('example.txt', 'r')

(二)关闭文件

打开的文件在使用完毕后应该及时关闭,以释放资源。可以使用文件对象的close()方法来关闭文件。

  1. 基本语法:

    file.close()
  2. 示例:

    file = open('example.txt', 'r')
    # 对文件进行操作
    file.close()

为了确保文件在使用后一定被关闭,也可以使用with语句来打开文件,这样在with代码块结束时,文件会自动关闭。

  1. 基本语法:

    with open(file_name, mode) as file:
        # 对文件进行操作
  2. 示例:

    with open('example.txt', 'r') as file:
        content = file.read()
        print(content)

二、文件的读取操作

(一)读取整个文件

  1. read()方法:可以读取整个文件的内容,并将其作为一个字符串返回。

    with open('example.txt', 'r') as file:
        content = file.read()
        print(content)
  2. readlines()方法:读取文件的所有行,并将它们作为一个列表返回,每行是列表中的一个元素。

    with open('example.txt', 'r') as file:
        lines = file.readlines()
        for line in lines:
            print(line.strip())  # strip()用于去除每行末尾的换行符

(二)逐行读取文件

  1. 使用for循环:可以逐行读取文件,这种方法在处理大文件时比较高效,因为它不会一次性将整个文件读入内存。

    with open('example.txt', 'r') as file:
        for line in file:
            print(line.strip())

三、文件的写入操作

(一)写入文件

  1. write()方法:可以将字符串写入文件。如果文件以写入模式('w')或追加模式('a')打开,就可以使用这个方法。

    # 以写入模式打开文件,如果文件不存在,将创建一个新文件
    with open('example.txt', 'w') as file:
        file.write('Hello, world!')
    # 以追加模式打开文件,在文件末尾添加内容
    with open('example.txt', 'a') as file:
        file.write('\nThis is a new line.')

(二)写入多行内容

  1. 可以使用writelines()方法将一个字符串列表写入文件,每行对应列表中的一个元素。

    lines = ['Line 1', 'Line 2', 'Line 3']
    with open('example.txt', 'w') as file:
        file.writelines(lines)

四、文件的其他操作

(一)文件指针操作

  1. tell()方法:返回文件指针的当前位置。

    with open('example.txt', 'r') as file:
        position = file.tell()
        print(position)
  2. seek()方法:用于移动文件指针到指定位置。

    with open('example.txt', 'r') as file:
        file.seek(10)  # 将文件指针移动到第 10 个字节处
        content = file.read()
        print(content)

(二)文件属性获取

  1. name属性:返回文件的名称。

    with open('example.txt', 'r') as file:
        print(file.name)
  2. mode属性:返回文件的打开模式。

    with open('example.txt', 'r') as file:
        print(file.mode)

(三)文件的删除与重命名

  1. 使用os模块删除文件:可以使用os.remove()函数删除文件。

    import os
    ​
    os.remove('example.txt')
  2. 使用os模块重命名文件:可以使用os.rename()函数重命名文件。

    import os
    ​
    os.rename('old_name.txt', 'new_name.txt')

五、处理不同类型的文件

(一)处理 CSV 文件

  1. 使用csv模块:可以方便地读取和写入 CSV 文件。

    import csv
    ​
    # 写入 CSV 文件
    with open('data.csv', 'w', newline='') as file:
        writer = csv.writer(file)
        writer.writerow(['Name', 'Age', 'City'])
        writer.writerow(['John', '30', 'New York'])
        writer.writerow(['Alice', '25', 'London'])
    ​
    # 读取 CSV 文件
    with open('data.csv', 'r') as file:
        reader = csv.reader(file)
        for row in reader:
            print(row)

(二)处理 JSON 文件

  1. 使用json模块:可以处理 JSON 格式的文件。

    import json
    ​
    # 写入 JSON 文件
    data = {'name': 'John', 'age': 30, 'city': 'New York'}
    with open('data.json', 'w') as file:
        json.dump(data, file)
    ​
    # 读取 JSON 文件
    with open('data.json', 'r') as file:
        data = json.load(file)
        print(data)

(三)处理 Excel 文件

  1. 使用openpyxl库:可以处理 Excel 文件(.xlsx格式)。

    from openpyxl import Workbook, load_workbook
    ​
    # 写入 Excel 文件
    wb = Workbook()
    ws = wb.active
    ws['A1'] = 'Name'
    ws['B1'] = 'Age'
    ws['C1'] = 'City'
    ws.append(['John', '30', 'New York'])
    ws.append(['Alice', '25', 'London'])
    wb.save('data.xlsx')
    ​
    # 读取 Excel 文件
    wb = load_workbook('data.xlsx')
    ws = wb.active
    for row in ws.iter_rows(values_only=True):
        print(row)

通过以上内容,你可以了解 Python 中对文件的各种操作方法,包括打开、关闭、读取、写入、处理不同类型的文件等。根据具体的需求,可以选择合适的方法来操作文件。

标签:文件,python,学习,file,print,txt,open,example
From: https://blog.csdn.net/wu73guang5jian/article/details/142627839

相关文章

  • Python对数据库(MySQL,redis、MongoDB)的操作
    Python对数据库的操作(MySQL,redis、MongoDB)一、操作MySQL数据库安装pymysql:需要通过pipinstallpymysql进行安装。查询数据:fetchone、fetchmany(n)、fetchall()importpymysql#建立mysql连接,ip、端口、用户名、密码(passwd,不能写成其他,例如:pwd或者p,否则报错)、库名con......
  • 丰富的诗词资源!一个现代化诗词学习网站!
    大家好,我是Java陈序员。之前,给大家推荐过一个古诗文起名工具,利用古诗文进行起名。一个古诗文起名工具今天,给大家介绍一个现代化诗词学习网站,完美适用于自身、孩子学习背诵古诗词!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。......
  • python内置模块typing里Literal函数的基本用法和总结--快速学习掌握Literal函数的用法
    Literal是Pythontyping模块中提供的一种类型注解,用于指定变量或函数的参数只能取特定的字面量值(常量)。它允许你将变量的取值严格限制在指定的一组值内,确保程序只接受特定的常量值,从而减少错误的发生。一、基本概念在Python中,通常我们会使用常见的类型注解来限制变量......
  • 【Python脚本】路径管理之pathlib
    在Python的pathlib模块中,Path类和PurePath类是用于处理文件和目录路径的两个主要类.它们具有不同的目的和功能,以下是它们的主要异同点:类的继承关系:Path类继承自PurePath,因此Path类拥有PurePath的所有方法.不同点:PurePath类:纯路径对象:PurePath类及其子类(如Pure......
  • 靶机 billu_box-任意文件读取-图片马
    爆破80下网页让我们sql,但是怎么试都不行dirsearch爆破下出来部分网页[09:45:31]200-307B-/add.php存在文件上传[09:45:36]200-1B-/c无[09:45:41]200-3KB-/head.php一张图......
  • Python打包工具之pyinstaller
    前言:近期使用PySimpleGUI开发了一款开发者工具X-助手工具,意打造成平常开发助手,无论是图片还是网址的处理等等都需要这一个工具即可,无需在网上找各个网站去找解决方案,对于GUI的打包工具,在Python领域pyinstaller较为流行工具样例:   安装:pipinstall-Upyins......
  • Python 进行网页抓取
    1.从网站中提取数据importrequestsfrombs4importBeautifulSoupdefscrape_data(url):response=requests.get(url)soup=BeautifulSoup(response.text,'html.parser')#在此处编写代码,从网站中提取相关数据说明:这个Python脚本利用requests和Beautif......
  • 从零开始学机器学习——线性和多项式回归
    首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns在之前的学习中,我们已经对数据的准备工作以及数据可视化有了一定的了解。今天,我们将深入探讨基本线性回归和多项式回归的概念与应用。如果在过程中涉及到一些数学知识,大家也不必感到畏惧,我会逐步为大家进行详......
  • 2024-2025-1 20241328《计算机基础与程序设计》第壹周学习总结
    2024-2025-120241328《计算机基础与程序设计》第壹周学习总结作业信息计算机基础与程序设计2024-2025-1-计算机基础与程序设计作业要求2024-2025-1计算机基础与程序设计第一周作业作业目标1、参考教程安装Linux系统;2、快速浏览一遍教材计算机科学概论(第七版),课本......
  • 2024-2025-1 20241310 《计算机基础与程序设计》第一周学习总结
    2024-2025-120241300《计算机基础与程序设计》第一周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第一周作业这个作业的目标1.基于VirtualBox虚拟机安装Ubuntu图文教程安装Linux系......