open函数
open()
函数是Python内置的函数之一,用于打开文件并返回一个文件对象,通过文件对象可以执行文件的读取、写入、追加等操作。
一般语法如下
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,参数的含义如下:
file:要打开的文件的路径(字符串)或文件描述符(整数)。
mode:文件的打开模式,用于指定文件的操作方式。默认为'r'(只读)。
buffering:可选参数,用于指定缓冲策略,通常为-1(使用系统默认值)。
encoding:可选参数,用于指定文件的编码方式,通常为None(使用默认编码)。
errors:可选参数,用于指定编解码时的错误处理方式。
newline:可选参数,用于指定文本文件的换行符,通常为None(使用系统默认换行符)。
closefd:可选参数,用于指定是否关闭文件描述符(通常为True)。
opener:可选参数,用于指定一个自定义的打开器函数,通常不需要指定。
open()函数返回一个文件对象,可以使用文件对象的方法来执行文件的读取、写入、关闭等操作
示例:读取文件内容并打印。
file_path = 'example.txt'
# 以只读模式打开文件
with open(file_path, 'r') as f:
content = f.read()
print(content)
打开文件并写入内容
# 打开文件并写入内容
file_path = "output.txt"
with open(file_path, 'w') as file:
file.write("Hello, world!\n")
file.write("This is a sample text.")
open()函数是Python中一个重要的文件操作函数,用于打开文件并进行读取、写入、追加等操作。通过本文,已经了解了open()函数的用法、语法、文件模式、示例代码以及在实际编程中的应用场景。掌握open()函数能够更好地处理文件操作任务,同时编写更具可读性和可维护性的代码。
json模块
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。在Python中,可以使用 json
模块来处理JSON数据
使用 JSON 函数需要导入 json 库:import json
json可以用于字符串或者字典等与python数据类型之间的序列化与反序列化操作。
json模块常用的功能的:dumps,dump,loads,load
json.dumps
把python对象转换成json对象的一个过程,生成的是字符串
import json
data = json.dumps({"a":1,"c":2})
print(data) # {"a": 1, "c": 2}
print(type(data)) # <class 'str'>
json.dump、 json.load
json.dump 作用:是把python对象转换成json对象生成一个fp的文件流,和文件相关
import json
# 准备要写入的数据,这里假设是一个字典
data = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 指定文件路径
file_path = 'data.json'
# 打开文件,准备写入 JSON 数据
with open(file_path, 'w') as f:
json.dump(data, f)
json.load:从一个文件读取JSON类型的数据,然后转换成Python字典
import json
data = {
"name": "Satyam kumar",
"place": "patna"
}
with open("1.json", "w") as f:
json.dump(data, f) #写入方法一
# f.write(json.dumps(data)) #写入方法二
with open("1.json", "r") as f:
res = json.load(f) #将文件中的JSON数据,然后转换成Python字典
print(type(res)) # <class 'dict'>
print(res) # {'name': 'Satyam kumar', 'place': 'patna'}
json.load
用于将json字符串类型的数据转成dict
import json
data = {'a':'1111','b':'2222','c':'3333','d':'4444'}
jsDumps = json.dumps(data) # 转为json字符串
jsLoads = json.loads(jsDumps) # 字符串转为字典dict
print(jsLoads) # {'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}
print(type(jsLoads)) #<class 'dict'>
os模块
os是“operating system”的缩写,os模块提供各种 Python 程序与操作系统进行交互的接口,使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。
os 模块属于内置模块,不需要安装,直接导入即可使用。
import os
路径介绍
用于定位一个文件或者目录的字符串被称为 路径。在程序开发时,通常涉及到两种路径:一种是相对路径,另一种是绝对路径。
相对路径: 在学习相对路径之前,需要先了解什么是当前工作目录,当前工作目录是指当前文件所在的目录。在 Python 中,可以通过 os 模块提供的 getcwd() 方法获取当前工作目录。
import os
print(os.getcwd()) # 打印当前目录
相对路径是依赖于当前工作目录的。如果在当前工作目录下,有一个名称为 message.txt
的文件,那么在打开这个文件时,就可以直接写文件名,这时采用的就是相对路径。message.txt
文件的实际路径就是当前工作目录:
"E:\Code\lesson\python-package" + 相对路径 "message.txt"
即 "E:\Code\lesson\python-package\message.txt"
如果在当前工作目录下,有一个子目录 demo
,并且在该子目录下保存着文件 message.txt
,那么在打开这个文件时就可以写为 demo/message.txt
,代码如下:
with open("demo/message.txt") as file: # 通过相对路径打开文件
pass
在 Python 中,指定文件路径时需要对路径分隔符 \
进行转义,即将路径中的 \
替换为 \\
。例如,对于相对路径 demo\message.txt
,需要用 demo\\message.txt
代替。另外,也可以将路径分隔符 \
用 /
代替。
绝对路径:绝对路径是指文件的实际完整路径,它不依赖于当前工作目录,从盘符出发。 在 Python 中,可以通过 os.path 模块提供的 abspath() 方法获取一个文件的绝对路径。例如,获取相对路径 demo\message.txt 的绝对路径,代码如下:
import os
print(os.path.abspath(r"demo\message.txt")) # 打印绝对路径
常用方法详解
getcwd()方法——获取当前工作目录(字符串)
os.getcwd()
参数说明:返回值:返回表示当前工作目录的字符串。使用 getcwd() 方法获取字符串类型的当前工作目录并输出,代码如下:
import os # 导入文件与操作系统相关模块
print(os.getcwd()) # 打印表示当前工作目录的字符串
listdir()方法——返回指定路径下的目录名和文件名
listdir() 方法用于返回指定路径下的文件和目录的名称(不包括子孙目录)。语法格式如下:
os.listdir(path=".")
参数说明:
- path:表示一个路径,用于指定要获取的文件和目录的根目录,不能是文件路径。
- 返回值:返回一个列表,其中包含 path 路径下的目录和文件的名称(按字母顺序排列),但不包括
.
和..
。
mkdir()方法——创建一级目录
import os # 导入文件与操作系统相关模块
os.mkdir(r'C:\Users\Administrator\Desktop\python_base\amo\qq1\wx1\amo1')
removedirs()方法——递归删除目录
import os # 导入文件与操作系统相关模块
os.removedirs(r"C:\Users\Administrator\Desktop\python_base\amo\qq1\wx1\amo1")