Python 文件操作 - 使用 Python 读取和写入文件

2023-11-04

在本教程中,我们将研究 Python 中的不同文件操作。我们将介绍如何使用 Python 读取文件、写入文件、删除文件等等。所以,事不宜迟,让我们开始吧。

在 Python 中处理文件

在之前的教程中,我们使用了控制台接受输入。现在,我们将使用文件获取输入。这意味着,我们将读取和写入文件。为此,我们需要维护一些步骤。那些是

  1. 打开文件
  2. 从该文件获取输入/将输出写入该文件
  3. 关闭文件

我们还将学习一些有用的操作,例如复制文件和删除文件。

Python中为什么需要文件操作?

在处理大型数据集时机器学习问题,处理文件是基本必要的。由于 Python 是数据科学的主要使用语言,因此您需要精通 Python 提供的不同文件操作。

那么,让我们在这里探讨一些 Python 文件操作。

1. 使用 open() 函数在 Python 中打开文件

在 Python 中处理文件的第一步是学习如何打开文件。您可以使用以下命令打开文件open() method.

Python 中的 open() 函数接受两个参数。第一个是文件名以及完整路径,第二个是文件打开模式。

下面我列出了一些常见的文件读取模式:

  • ‘r’ :此模式表示文件将以只读方式打开
  • ‘w’ :此模式表示文件将仅以写入方式打开。如果包含该名称的文件不存在,它将创建一个新文件
  • ‘a’ :此模式表示该程序的输出将附加到该文件的先前输出
  • ‘r+’ :此模式表示文件将打开以进行读取和写入

此外,对于 Windows 操作系统,您可以附加“b”以访问二进制文件。这是因为 Windows 区分二进制文本文件和常规文本文件。

假设我们将一个文本文件名“file.txt”放置在放置代码的同一目录中。现在我们要打开该文件。

但是,那打开(文件名,模式)函数返回一个文件对象。使用该文件对象,您可以继续进行进一步的操作。

python open file, python file

#directory:   /home/imtiaz/code.py
text_file = open('file.txt','r')

#Another method using full location
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

以下代码的输出将是

================== RESTART: /home/imtiaz/code.py ==================
First Method

Second Method

>>>

2.Python中文件的读写

Python 提供了多种读取和写入文件的方法,其中每个函数的行为都不同。需要注意的一件重要事情是文件操作模式。要读取文件,您需要以读或写模式打开该文件。在Python中写入文件时,您需要以写入模式打开该文件。

以下是 Python 中允许您读取和写入文件的一些函数:

  • read() :该函数读取整个文件并返回一个字符串
  • 读行():该函数从该文件中读取行并以字符串形式返回。如果它被调用了 n 次,它会获取第 n 行。
  • 读取行():此函数返回一个列表,其中每个元素都是该文件的单行。
  • 读取行():此函数返回一个列表,其中每个元素都是该文件的单行。
  • 写() :该函数将固定的字符序列写入文件。
  • 写行():该函数写入一个字符串列表。
  • 追加():此函数将字符串附加到文件而不是覆盖文件。

让我们以文件“abc.txt”为例,并使用 a 从文件中读取各个行for loop:

#open the file
text_file = open('/Users/pankaj/abc.txt','r')

#get the list of line
line_list = text_file.readlines();

#for each line from the list, print the line
for line in line_list:
    print(line)

text_file.close() #don't forget to close the file

Output:

python read file

现在,我们知道如何在 Python 中读取文件,让我们继续使用 writelines() 函数执行写入操作。

#open the file
text_file = open('/Users/pankaj/file.txt','w')

#initialize an empty list
word_list= []

#iterate 4 times
for i in range (1, 5):
    print("Please enter data: ")
    line = input() #take input
    word_list.append(line) #append to the list


text_file.writelines(word_list) #write 4 words to the file

text_file.close() #don’t forget to close the file

Output

python write file

3.Python中使用shutil()方法复制文件

我们可以使用关闭模块在 Python 中复制文件。该实用程序允许我们在 Python 中对不同文件执行复制和移动操作。让我们通过一个例子来解决这个问题:

import shutil

shutil.copy2('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copy2.txt')

#another way to copy file

shutil.copyfile('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copyfile.txt')

print("File Copy Done")

4.Python中使用shutil.os.remove()方法删除文件

Python的shutil模块提供了remove()方法来从文件系统中删除文件。让我们看看如何在 Python 中执行删除操作。

import shutil
import os

#two ways to delete file
shutil.os.remove('/Users/pankaj/abc_copy2.txt')

os.remove('/Users/pankaj/abc_copy2.txt')

5. 使用 close() 方法关闭 Python 中打开的文件

当您在 Python 中打开文件时,进行更改后关闭该文件非常重要。这将保存您之前所做的任何更改,从内存中删除文件,并防止在程序中进行任何进一步的读取或写入。

在 Python 中关闭打开的文件的语法:

fileobject.close()

如果我们继续前面读取文件的示例,则关闭文件的方法如下:

text_file = open('/Users/pankaj/abc.txt','r')
# some file operations here

text_file.close()

此外,如果您使用带块。一旦执行了 with 块,文件就会被关闭,并且不再可用于读写。

6.Python 文件未找到错误

在 Python 中处理文件时,经常会收到 FileNotFoundError。通过在创建文件对象时提供完整的文件路径可以轻松避免这种情况。

  File "/Users/pankaj/Desktop/string1.py", line 2, in <module>
    text_file = open('/Users/pankaj/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pankaj/Desktop/abc.txt'

要修复 FileNotFoundError,您只需验证为文件打开方法提到的路径是否正确。

结论

这些是Python上的文件操作。您可以通过多种方式在 Python 中使用文件,其中包括读取 CSV 数据等。这是一篇关于如何使用熊猫模块 to 使用 Python 读取 CSV 数据集。

我希望您喜欢阅读这篇文章!快乐学习:)

**参考:
**https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 文件操作 - 使用 Python 读取和写入文件 的相关文章

随机推荐

  • 如何撤消上次 Git 提交

    有时 在使用 Git 时 您可能想要撤消最新的提交 提交是 Git 存储库在给定时间的快照 Git 有一个名为的引用变量HEAD它指向当前工作分支中的最新提交 要撤消提交 您需要做的就是指向HEAD变量到前一个快照 本指南解释了如何撤消上次
  • 如何在 CentOS 7 上安装 Asterisk

    Asterisk 是最流行和广泛采用的开源 PBX 平台 为 IP PBX 系统 会议服务器和 VoIP 网关提供支持 它被世界各地的个人 小型企业 大型企业和政府使用 Asterisk 功能包括语音邮件 等待音乐 电话会议 呼叫排队 通话
  • 如何在 MySQL 中显示/列出用户

    您是否曾经需要获取 MySQL 服务器中所有用户的列表 有命令显示数据库和表 但没有MySQLshow users命令 本教程介绍如何通过命令行列出 MySQL 数据库服务器中的所有用户帐户 我们还将向您展示如何找出哪些用户有权访问给定的数
  • 如何在 Linux 中创建组(groupadd 命令)

    在 Linux 中 组用于组织和管理用户帐户 组的主要目的是定义一组权限 例如读 写或执行允许对于可以在组内的用户之间共享的给定资源 在本文中 我们将讨论如何在 Linux 中使用groupadd命令 groupadd命令语法 的一般语法为
  • Linux中的重命名命令(重命名多个文件)

    使用以下命令重命名多个文件和目录mv命令可能是一个乏味的过程 因为它涉及使用管道编写复杂的命令 loops 等等 这就是rename命令派上用场 它通过将名称中的搜索表达式替换为指定的替换来重命名给定的文件 在本教程中 我们将解释如何使用r
  • 如何在 CentOS 8 上安装 Vagrant

    Vagrant是用于构建和管理虚拟化开发环境的命令行工具 默认情况下 Vagrant 可以在 VirtualBox Hyper V 和 Docker 之上配置计算机 可以通过 Vagrant 插件系统启用对 Libvirt KVM VMwa
  • 如何在 Debian 10 Linux 上安装和使用 Curl

    Curl 是一个命令行实用程序 用于从远程服务器传输数据或向远程服务器传输数据 它允许您使用 HTTP HTTPS SCP SFTP and FTP协议 如果您尝试使用下载文件curl并收到一条错误消息说curl command not f
  • Linux 中的 Chmod 命令(文件权限)

    在 Linux 中 对文件的访问是通过文件权限 属性和所有权来管理的 这确保只有授权的用户和进程才能访问文件和目录 本教程介绍了如何使用chmod命令更改文件和目录的访问权限 Linux 文件权限 在进一步讨论之前 我们先解释一下基本的 L
  • 在 Linux 上创建可启动 Debian 10 USB 记忆棒

    本教程解释了如何使用以下命令从 Linux 终端创建可启动的 Debian 10 Buster USB 记忆棒dd命令 USB 记忆棒可用于在任何支持从 USB 启动的计算机上启动和安装 Debian 先决条件 1GB 或更大的 USB 记
  • Linux 中的 sudo 命令

    sudo 命令允许您以另一个用户 默认为 root 用户 运行程序 如果您在命令行上花费大量时间 那么 sudo 是您经常使用的命令之一 使用 sudo 而不是以 root 身份登录更安全 因为您可以向单个用户授予有限的管理权限 而无需他们
  • 如何在 Ubuntu 18.04 上设置 Nginx 服务器块

    Nginx Server Blocks 允许您在一台机器上运行多个网站 使用服务器块 您可以指定站点文档根 包含网站文件的目录 为每个站点创建单独的安全策略 为每个站点使用不同的 SSL 证书等等 在本文中 我们将提供有关如何在 Ubunt
  • 如何在 CentOS 7 上使用 Nginx 安装 WordPress

    WordPress 是全球最受欢迎的开源博客和 CMS 平台 为当今互联网上四分之一的网站提供支持 它基于 PHP 和 MySQL 并包含大量可以通过免费和高级插件和主题进行扩展的功能 WordPress 是创建在线商店 网站或博客的最简单
  • 如何在 CentOS 7 上安装 OpenCV

    OpenCV 开源计算机视觉库 是一个开源计算机视觉库 绑定了 C Python 和 Java 并支持所有主要操作系统 它可以利用多核处理并具有 GPU 加速功能来实现实时操作 OpenCV 的应用非常广泛 包括医学图像分析 拼接街景图像
  • 您应该了解的 Apache 命令

    Apache HTTP 服务器是世界上最流行的 Web 服务器 它是一个免费 开源 跨平台的 HTTP 服务器 提供强大的功能 可以通过各种模块进行扩展 如果您是开发人员或系统管理员 您很可能经常与 Apache 打交道 在本指南中 我们将
  • 如何在 Debian 10 Linux 上安装和使用 Docker

    Docker 是一个容器化平台 允许您快速构建 测试和部署应用程序作为可移植 自给自足的容器 几乎可以在任何地方运行 在本教程中 我们将解释如何在 Debian 10 Buster 上安装 Docker 并探索基本的 Docker 概念和命
  • Linux 中的 W 命令

    在这篇文章中 我们将讨论w命令 w是一个命令行实用程序 显示有关当前登录用户以及每个用户正在执行的操作的信息 它还提供有关系统已运行多长时间 当前时间和系统平均负载的信息 如何使用w命令 语法为w命令如下 w OPTIONS USER Wh
  • 如何在 CentOS 7 上安装 Skype

    Skype是世界上最受欢迎的通信应用程序之一 可让您免费进行在线音频和视频通话 并以经济实惠的价格拨打全球手机和固定电话 Skype 不是开源应用程序 也不包含在 CentOS 存储库中 本教程介绍如何在 CentOS 7 上安装最新版本的
  • 如何在 Ubuntu 18.04 上设置 OpenVPN 服务器

    无论您是想在连接不可信的公共 Wi Fi 网络时安全可靠地访问互联网 绕过地理限制内容还是允许您的同事在远程工作时安全地连接到您的公司网络 使用 VPN 都是最佳解决方案 VPN 允许您连接到远程 VPN 服务器 使您的连接加密且安全 并通
  • Android布局-LinearLayout、RelativeLayout

    在本教程中 我们将概述 Android 布局 我们还将探索一些可用于组织屏幕内容的特定布局控件 即 Android LinearLayout 和 AndroidrelativeLayout 安卓布局 用户界面的基本构建块是View从 Vie
  • Python 文件操作 - 使用 Python 读取和写入文件

    在本教程中 我们将研究 Python 中的不同文件操作 我们将介绍如何使用 Python 读取文件 写入文件 删除文件等等 所以 事不宜迟 让我们开始吧 在 Python 中处理文件 在之前的教程中 我们使用了控制台接受输入 现在 我们将使