Python操作文件及其内容的常用方式
文章目录
- Python操作文件及其内容的常用方式
- 1:修改文件名
- 1.1:修改指定文件名
- 1.2:修改目录下的所有文件的文件名
- 2:读取文件
- 2.1:读取文件内容
- 2.1.1:按行读取
- 2.1.2:按字节单个字符读取内容
- 2.1.3:读取每行内容的指定内容
- 3:写入文件
- 3.1:编辑内容写入文件
- 3:编辑内容
其中包含了、使用python修改文件名,使用python读取文件内容,使用python写入文件内容,使用python修改每行的指定内容。
1:修改文件名
修改文件名分为两种方式,第一种,修改指定文件的文件名,第二种,修改指定目录下的所有文件的文件名。
1.1:修改指定文件名
# 修改指定文件的文件名
def rename():
path = "/Users/liujinshuai/desktop/"
file_name = "test.txt"
my_file_name = "myfile.txt"
os.rename(path + file_name, path + my_file_name)
该操作将原有的 test.txt 文件重命名为了新的 myfile.txt 文件。
1.2:修改目录下的所有文件的文件名
比如目录 /Users/liujinshuai/Desktop/files/ 下包含着这三个txt文件。
# 修改指定目录下的所有文件的文件名
def renamedir():
i = 0
path="/Users/liujinshuai/Desktop/files/"
for filename in os.listdir(path):
my_file_name ="hello" + str(i) + ".txt"
file_source =path + filename
my_file_name =path + my_file_name
os.rename(file_source, my_file_name)
i += 1
执行过后,该目录下的文件的文件名将变为如下:
2:读取文件
2.1:读取文件内容
2.1.1:按行读取
# 读取文件内容
def readmsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
f = open (path, 'r')
line = f.readline()
while line:
print(line)
line = f.readline()
f.close()
需要注意的是,要记得关闭文件操作,如 f.close()
除此之外,你还可以一次性获取所有行,以数组的形式访问指定行。
# 读取文件内容
def readmsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
f = open (path, 'r')
line = f.readlines()
print(line[0])
f.close()
2.1.2:按字节单个字符读取内容
# 读取文件内容
def readmsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
f = open (path, 'r')
read = f.read(1)
print(read)
f.close()
2.1.3:读取每行内容的指定内容
读取 第一行 的第一个字符:
# 读取文件内容
def readmsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
f = open (path, 'r')
line = f.readlines()
print(line[0][0])
f.close()
3:写入文件
3.1:编辑内容写入文件
# 写入文件内容
def writemsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
f = open (path, 'w')
f.write("hello world")
f.close()
也可以一次性写入多条数据,首先需要使用一个数组来保存需要添加的数据。
# 写入文件内容
def writemsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
msg = ["hello world\n", "hello world\n", "hello world"]
f = open (path, 'w')
f.writelines(msg)
f.close()
3:编辑内容
比如更改文件的第一行的内容:
# 更改文件内容
def editmsg():
path = "/Users/liujinshuai/desktop/myfile.txt"
f = open (path, 'r')
line = f.readlines()
line[0] = "hello world anny!!!\n"
w = open (path, 'w')
w.writelines(line)
w.close()
f.close()
如果你想将 hello world anny!!!\n
更改为 Hello world anny!!!\n
你只需要将 line[0] = "hello world anny!!!\n"
更改为 line[0][0] = "H"
这步操作是将第一行的第一个字符改为 H