赞
踩
下面是使用 open() 方法时需要注意的事项和好处:
注意事项:
好处:
在使用 “w” 模式进行文件写入时,需要注意以下事项:
内容写入内存:写入的内容首先会被写入内存缓冲区中,并不直接写入磁盘文件。这是为了提高写入效率,减少频繁的磁盘写入操作。
刷新内容到磁盘:为了确保内容被写入磁盘文件,可以通过 flush 方法手动刷新缓冲区,将内容写入磁盘。也可以通过 close 方法来关闭文件对象,它会自动执行刷新操作。
文件不存在时创建文件:如果指定的文件不存在,Python 会自动创建一个新的文件,并将写入的内容写入其中。
文件存在时清空内容重写:如果指定的文件已经存在,Python 会清空文件中的内容,然后将新的内容写入其中。
下面是一个示例代码,演示了如何使用 “w” 模式进行文件写入:
with open("example.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is an example.")
# 使用 flush 方法刷新缓冲区,将内容写入磁盘
file.flush()
# 或者直接使用 close 方法关闭文件对象,它会自动执行刷新操作
# file.close()
在使用 “a” 模式进行文件追加时,需要注意以下事项:
内容写入内存:与使用 “w” 模式一样,写入的内容首先会被写入内存缓冲区中,而不是直接写入磁盘文件。
刷新内容到磁盘:同样可以通过 flush 方法手动刷新缓冲区,或者使用 close 方法自动执行刷新操作。
文件不存在时创建文件:如果指定的文件不存在,Python 会自动创建一个新的文件,并将写入的内容写入其中。
文件存在时末尾追加内容:如果指定的文件已经存在,Python 会将新的内容追加到文件的末尾。
下面是一个示例代码,演示了如何使用 “a” 模式进行文件追加:
with open("example.txt", "a") as file:
file.write("This is an additional line.\n")
file.write("This is another line.")
# 使用 flush 方法刷新缓冲区,将内容写入磁盘
file.flush()
# 或者直接使用 close 方法关闭文件对象,它会自动执行刷新操作
# file.close()
本人比较懒,就直接在工作空间操作备份了,文件路径大家可以自定义。
将文件备份到一个新的文件.bak中,去掉原文件中的备注行(# xxxx)
实现代码如下:
with open("D:/xxx/answer.py","r", encoding="utf-8") as file:
bak = open("D:/xxx/answer.py.bak","w", encoding="utf-8")
for line in file:
if line.startswith("#"):
continue
bak.write(line)
bak.close()
上一节忘记写这个的答案了,这里补一下[Python基础(十七、函数进阶用法)]答案(https://editor.csdn.net/md/?articleId=135401777)
题目:
编写一个函数 get_average_grade,接受一个学生的成绩列表作为参数,并计算该学生的平均分。要求忽略最高分和最低分后的成绩,即去掉一个最高分和一个最低分后再计算平均分。
'''
编写一个函数 get_average_grade,
接受一个学生的成绩列表作为参数,
并计算该学生的平均分。
要求忽略最高分和最低分后的成绩,
即去掉一个最高分和一个最低分后再计算平均分。
'''
gradeList = [99,82,93,63,63,67,87,74,46]
def get_average_grade(gradeList):
# 排序,默认升序
newGrageList = sorted(gradeList)
sumGrade = 0
for grade in newGrageList[1:len(newGrageList)-1]:
sumGrade += grade
avg = sumGrade/(len(newGrageList)-2)
print(avg)
get_average_grade(gradeList)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。