本文介绍文件的操作
代码如下:
import os
file_name = 'text.txt' #文件名,只能打开当前路径下文件,其他路径文件需改为对应路径
#write()方法写入
text = 'Hello World' #文本
f = open(file_name, 'w') #‘w’,表示开放写的权限,写入内容会覆盖之前内容
f.write(text) #写入text文本
f.close() #关闭
#‘a’追加写入,不覆盖之前内容
addtext = '\nPython.37'
f =open(file_name, 'a') #‘a’,表示追加写入,不会覆盖之前内容
f.write(addtext)
f.close()
#read()方法读取,‘r’
f = open(file_name, 'r') #‘r’,表示读取权限
read = f.read(2) #read(2)表示,只读取从文件指针开始的2个字符,不填数字,读取全部内容
print(read)
#创建新文件
new_name = 'new_text.txt'
f = open(new_name, 'x') #使用‘x’打开更安全,无文件就创建新文件
f.write(text)
f.close()
#已list形式打印出每行
f = open(new_name)
r = f2.readlines()
print(r)
#['Hello World\n', 'Python.37']
#指定打印多少行
f = open(new_name)
for i in rang(number): #number表示打印前面多少行
print(f.readline())
#迭代打印文件每行内容
for i in f:
print(i)
#Python.37
#Hello World
升级一下,写一个替换文件中内容并查看的程序(参照小甲鱼)
def file_replace():
file_name = input('请输入文件名:')
rep_word = input('请输入需要替换的单词或字符:')
new_word = input('请输入新的单词或字符:')
f_read = open(file_name)
content = []
count = 0
for eachline in f_read:
if rep_word in eachline:
count = eachline.count(rep_word)
eachline = eachline.replace(rep_word, new_word)
content.append(eachline)
decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【Yes/No】:'
% (file_name, count, rep_word, rep_word, new_word))
if decide in ['YES', 'Yes', 'yes']:
f_write = open(file_name, 'w')
f_write.writelines(content) #writelines 不会覆盖之前内容
f_write.close()
readed = input('修改保存成功!\n是否需要查看?\n【Yes/No】:')
if readed in ['YES', 'Yes', 'yes']:
f_readed = open(file_name, 'r')
r = f_readed.read()
print(r)
file_replace()
运行如下:
请输入文件名:text1.txt
请输入需要替换的单词或字符:Python
请输入新的单词或字符:World
文件 text1.txt 中共有1个【Python】
您确定要把所有的【Python】替换为【World】吗?
【Yes/No】:yes
修改保存成功!
是否需要查看?
【Yes/No】:yes
Hello World
World.37
Process finished with exit code 0