使用Python写入内容到制定文件

 更新时间:2023年07月05日 08:47:44   作者:小邑走天下  
这篇文章主要介绍了使用Python写入内容到制定文件,Python只能将字符串写入文本文件,要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式,需要的朋友可以参考下

写入文件

利用文件对象提供的 write() 方法,可以向文件中写入内容。 语法格式如下: file.write(string) 其中,fle 为打开的文件对象: string 为要写入的字符串。

f=open('word.txt', 'a+')
# 以追加的方式打开文件
# 将信息写入文件
f.write("有时候你觉得特别难,也许因为有更大的收获')
f.close()
# 关闭文件

有的时候,需要以指定的编码格式(如UTF-8)将内容写入文件。 如将书名“Python 实效编程百例写入到book.txt 后保存编码格式为“utf-8”, 实现代码如下:

with open('book.txt','w', encoding='utf-8') as file:
	file.write('Python 实效编程百例'+'\n')
# 写入内容后换行就要加\n

使用with 语句处理文件

打开文件后,要及时将其关闭。如果忘记关闭可能会出现意想不到的问题。 另外,如果在打开文件时抛出了异常,那么将导致文件不能被及时关闭。 无论是否抛出异常,with 语句执行完毕后关闭已经打开的文件。 with 语句的语法格式如下:

with expression as target:
	with-body

参数说明: expression:用于指定一个表达式,这里可以是打开文件的 open()函数 target:用于指定一个变量,并且将expression 的结果保存到该变量中 with-body: 用于指定 with 语句体,其中可以是执行 with 语句后相关的一些操作语句。 如果不想执行任何语句,可以直接使用 pass 语句代替。

print("\n","="*10,"Python经典应用","="*10)
with open('message.txt', 'w') as file:
# 创建或打开保存Python经典应用信息的文件
    pass
print("\n 即将显示..... \n")

规避常见的错误操作

1.规避文件不存在的陷阱

在默认的情况下,使用 open()函数打开一个不存在的文件,会抛出异常错误。 可以使用 os.path模块提供的 exists()函数判断文件是否存在。 例如读取文件 book.txt,如果文件存在,读取文件并输出内容; 如果文件不存在,则新建 book.txt 文件。实现代码如下:

import os
if os.path.exists('book.txt'):
    with open('book.txt', 'r') as file:
        for line in file:
            print(line)
else:
    file =open('book.txt')
    file.close()

2.规避读取不同编码格式文件时的陷阱

由于文件保存格式的不同,在读取文件时如果格式不正确,将会出现乱码问题或抛出异常。 1.在打开文件时指定文件的格式 例如读取文件格式为“gbk”的文件(“maintxt”),在打开文件时设置编码格式为“encoding=‘GBK’”

try:
    with open('book.txt', 'r',encoding='GBK') as file:
        for line in file:
            print(line)
except Exception:
    with open('book.txt', 'r', encoding='UTF-8') as file:
        for line in file:
            print(line,2)

3.以二进制打开文件,然后对读取的内容进行编码

用 Python 读取文件经常会出现字符编码错误,用二进制方式打开文件,就不会出现错误了。但需要在读取文件时进行编码。 首先使用 isimstance()函数判断读取的内容是否为 str 类型,如果是,则直接读取文件内容.如果不是,则使用异常处理程序尝试使用“utf-8”方式解码,否则采用“gbk”方式解码。实现代码如下:

with open('book.txt', 'rb') as file:
    lines = file.read()
    if isinstance(lines, str):
        print(new)
    else:
        try:
            new = lines.decode("utf-8")
            print(new)
        except:
            try:
                new = lines.decode("gbk")
                print(new)
            except:
                pass

4.强制以某种模式读取文件,忽略编码错误

有时我们需要以某种格式读取指定文件,而忽略编码错误带来的乱码问题。例如以二进制方式读取文件“maintxt”中的内容,然后以“gbk”编码强制读取该文件,实现代码如下:

with open('book.txt', 'rb') as file:
    article = file.read()
    new = article.decode('gbk',errors='ignore')
    print(new)

到此这篇关于使用Python写入内容到制定文件的文章就介绍到这了,更多相关Python写入文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Conda创建新环境的详细图文教程

    Conda创建新环境的详细图文教程

    Anaconda功能庞大,其可以理解为一个工具,也是一个可执行命令,下面这篇文章主要给大家介绍了关于Conda创建新环境的详细图文教程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Python中原始字符串(r前缀)的作用及用法

    Python中原始字符串(r前缀)的作用及用法

    本文解释了在Python中使用原始字符串(r)处理文件路径的重要性,避免了转义字符冲突的问题,同时,介绍了三种替代写法,并在正则表达式中强调了r前缀的使用,需要的朋友可以参考下
    2026-05-05
  • Python轻松破解加密压缩包教程详解

    Python轻松破解加密压缩包教程详解

    相信大家都遇到过这种情况,下载文件的时候遇到压缩包又没有密码,或者说自己设置的加密密码,但是忘记了,就很难受。下面就将为大家介绍如何解决这一问题
    2021-12-12
  • python实现简单成绩录入系统

    python实现简单成绩录入系统

    这篇文章主要为大家详细介绍了python实现简单成绩录入系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • tornado捕获和处理404错误的方法

    tornado捕获和处理404错误的方法

    这篇文章主要介绍了tornado捕获和处理404错误的方法,方法很简单,只要覆写write_error方法就可以,看下面的代码就明白了
    2014-02-02
  • Python数学建模PuLP库线性规划实际案例编程详解

    Python数学建模PuLP库线性规划实际案例编程详解

    本节以一个实际数学建模案例,来为大家讲解PuLP求解线性规划问题的建模与编程。来巩固加深大家对Python数学建模PuLP库线性规划的运用理解
    2021-10-10
  • 深入解析pandas数据聚合和重组

    深入解析pandas数据聚合和重组

    这篇文章主要介绍了pandas数据聚合和重组,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • python 多线程中join()的作用

    python 多线程中join()的作用

    这篇文章主要介绍了python 多线程中join()的作用,通过代码实践来加深对 join()的认识,帮助大家更好的理解和学习python 多线程,感兴趣的朋友可以了解下
    2020-10-10
  • Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容

    Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容

    这篇文章主要介绍了Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python使用NumPy创建数组的完全指南

    Python使用NumPy创建数组的完全指南

    如果把机器学习比作精彩的冒险旅程,那 NumPy 就是出发前必学的基础技能课,缺一不可,今天这篇,从数组创建到变形运算,一次性把NumPy的基础打扎实,地基稳了,后面盖楼才不慌,需要的朋友可以参考下
    2026-06-06

最新评论