当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

python创建文件对象

时间:2023-06-21 | 栏目:可编程逻辑 | 点击:

2.1.

创建文件对象

**open()

函数用于创建文件对象,基本语法格式如下:** open(文件名[,打开方式])

注意:

2.2.

文件的写入

文本文件的写入一般就是三个步骤:

基本文件的写入操作

实操代码

# 1.使用open()方式
f = open(r"d:\\a.txt", "a")
s = "TimePause\\n时间静止\\n"
f.write(s)
f.close()

结果展示

图片

中文乱码

代码编写时

windows

操作系统默认的编码是 GBK , Linux 操作系统默认的编码是 UTF- 8 .**当我们用

open() 时,调用的是操作系统相关api来打开的文件,并且默认的编码是 GBK 但是由于我们通常习惯将所有代码编码都设置成 UTF- 8 .,

因此在打开时会出现乱码问题, 如下图所示**

图片解决方案: 按照上图提示,

将文本编码设置成 GBK格式读取即可图片注意: 我们还可以通过指定编码来解决中文乱码问题.

因为我们将pycharm文本读写编码都设置成

utf-8, 因此只要 **我们在文件写入的时候规定编码为

utf-8(默认gbk)** , 那么我们在读取时就不会出现乱码. 如下代码

实操代码

# 【示例】通过指定文件编码解决中文乱码问题
f = open(r"d:\\bb.txt", "w", encoding="utf-8")
f.write("一个有温情的小站\\n时间静止不是简史")
f.close()

控制台输出时****问题描述

我们一般习惯把pycharm所有字符编码设置成utf-8时.

在我们进行网络请求时, 有时候会返回乱码问题, 如下图

图片

图片

问题分析

因为我们在

pycharm 设置所有字符编码均为 UTF-8, 但是**通过网络请求得到GBK格式的文本,

然后我们仍以 UTF-8 编码去解码就会出现乱码**

解决方案

可以将项目编码设置成GBK格式即可;

也可以通过文本操作代码对得到的数据进行GBK格式读取 亦或者在写入时, 直接将编码声明为UTF-8

图片图片

write()/writelines()写入数据

实操代码

# 【操作】添加字符串列表数据到文件中
f = open(r"d:\\bb.txt", 'w', encoding="utf-8")
s = ["什么鬼\\n"] * 3  # 通过 \\n实现手动换行
f.writelines(s)
f.close()

close()关闭文件流

由于文件底层是由操作系统控制,所以我们打开的文件对象必须显式调用

close() 方法关闭文件对象. 当调用 close() 方法时,首先会把缓冲区数据写入文件(也可以直接调用 flush()

方法),再关闭文件,释放文件对象

注意:

实操代码

# 【操作】结合异常机制的 finally ,确保关闭文件对象
# "a" 设置打开方式为追加模式
try:
    f = open(r"d:\\c.txt", "a")
    s = "来自深渊"
    f.write(s)
except BaseException as e:
    print(e)
finally:
    f.close()

with语句(上下文管理器)

with关键字

(上下文管理器)可以自动管理上下文资源,不论什么原因跳出 with块 ,都能确保文件正确的关闭,

并且可以在代码块执行完毕后自动还原进入该代码块时的现场

实操代码

# 【操作】使用 with 管理文件写入操作
s = ["齐格飞"] * 3
with open(r"d:\\cc.txt", "w") as f:
    f.writelines(s)

您可能感兴趣的文章:

相关文章