通常需要将数据写入到本地文件或者从本地文件中读取数据等操作,我们必须掌握用Python语言去对本地文件进行操作。 比如
txt、doc、xls、ppt、ara、mpg、jpg、zip、pdf、avi、png、eps...
本地文件操作步骤
文件的读取
读取文件是文件操作中最常使用的操作之一,Python中读取文件主要有两种方式:一种是用with open(filename, mode)
打开文件,然后使用read
方法读取其中的内容;另一种是使用open
方法打开文件,然后使用read
方法读取其中的内容,最后不要忘记关闭文件。
第一种方式的代码实例如下:
with open('test.txt', 'r') as f:
content = f.read()
print(content)
其中,test.txt
是要读取的文件的名称,r
表示以只读方式打开文件。使用with
语句打开文件后,在语句块中即可读取文件内容,读取完成后会自动关闭文件。
第二种方式的代码实例如下:
f = open('test.txt', 'r')
content = f.read()
print(content)
f.close()
注意,使用第二种方式打开文件后,需要在读取完文件内容后显式地关闭文件。
文件的写入
除了读取,Python文件操作中还可进行文件的写入。Python中写入文件的方式主要也有两种,一种是使用with open(filename, mode)
方式打开文件,然后使用write
方法将内容写入文件中;另一种是使用open
方法打开文件,然后使用write
方法将内容写入文件中,写入完成后同样需要显式地关闭文件。
第一种方式的代码实例如下:
with open('output.txt', 'w') as f:
f.write('hello world')
其中,output.txt
是要写入的文件的名称,w
表示以只写方式打开文件。使用with
语句打开文件后,在语句块中即可写入文件内容,写入完成后会自动关闭文件。
第二种方式的代码实例如下:
f = open('output.txt', 'w')
f.write('hello world')
f.close()
注意,使用第二种方式打开文件后,需要在写入完文件内容后显式地关闭文件。
文件的追加
在文件中追加内容是文件操作的常见需求之一,Python也提供了追加方式来实现这一功能。Python文件追加内容的方式同样有两种,和写入文件的方式相同,一种是使用with open(filename, mode)
方式打开文件,然后使用write
方法将内容追加到文件末尾;另一种是使用open
方法打开文件,然后使用write
方法将内容追加到文件末尾,写入完成后同样需要显式地关闭文件。
第一种方式的代码实例如下:
with open('output.txt', 'a') as f:
f.write('\n')
f.write('hello chatbot')
其中,output.txt
是要追加内容的文件的名称,a
表示以追加方式打开文件。使用with
语句打开文件后,在语句块中即可将内容追加到文件末尾,追加完成后会自动关闭文件。
第二种方式的代码实例如下:
f = open('output.txt', 'a')
f.write('\n')
f.write('hello chatbot')
f.close()
注意,使用第二种方式打开文件后,需要在写入完文件内容后显式地关闭文件。
文件的操作
除了读写之外,Python文件操作还可以进行文件的操作,包括复制、删除等。其中,Python提供的文件操作函数主要有:
os.rename(src, dst)
:用于重命名文件或目录,将src
重命名为dst
;os.remove(filename)
:用于删除指定的文件;shutil.copy(src, dst)
:用于复制文件,
文件操作
创建文件
使用open()
函数可以创建文件,其中,第一个参数为文件路径和文件名,第二个参数为文件打开方式,常见的打开方式有以下几种:
'r'
:只读方式打开,指针放在文件开头;'w'
:写入方式打开,如果文件存在,会覆盖原有内容,指针放在文件开头;'a'
:追加方式打开,文件存在时,在文件末尾添加内容,指针放在文件末尾;'x'
:独占方式打开,创建文件,如果文件已存在则会报错。
# 创建一个空文件
with open('test.txt', 'w') as f:
pass
写入内容
使用write()
函数可以向文件中写入内容,此时,文件必须以写入或追加模式打开。
# 向文件中写入内容
with open('test.txt', 'w') as f:
f.write('Hello World!')
读取内容
使用read()
函数可以读取文件内容,此时,文件必须以只读模式打开。
# 读取文件内容
with open('test.txt', 'r') as f:
content = f.read()
print(content) # Hello World!
文件夹操作
创建文件夹
使用os.mkdir()
函数可以创建文件夹。
# 创建一个文件夹
import os
os.mkdir('myFolder')
删除文件夹
使用os.rmdir()
函数可以删除文件夹。
# 删除文件夹
import os
os.rmdir('myFolder')
检查文件夹是否存在
使用os.path.exists()
函数可以检查文件(或文件夹)是否存在。
# 检查文件夹是否存在
import os
if os.path.exists('myFolder'):
print('myFolder已存在')
else:
print('myFolder不存在')
复制文件或文件夹
使用shutil.copy()
函数可以复制文件,使用shutil.copytree()
函数可以复制文件夹。
# 复制文件
import shutil
shutil.copy('test.txt', 'test2.txt')
# 复制文件夹
import shutil
shutil.copytree('myFolder', 'myFolder2')
移动文件或文件夹
使用shutil.move()
函数可以移动文件或文件夹。
# 移动文件
import shutil
shutil.move('test.txt', 'myFolder/test.txt')
# 移动文件夹
import shutil
shutil.move('myFolder', 'myFolder2')
删除文件或文件夹
使用os.remove()
函数可以删除文件,使用shutil.rmtree()
函数可以删除文件夹。
# 删除文件
import os
os.remove('test.txt')
# 删除文件夹
import shutil
shutil.rmtree('myFolder')