python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python写入文件

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

作者:小邑走天下

这篇文章主要介绍了使用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写入文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文