|
发表于 2024-5-30 15:18:48
|
显示全部楼层
# 0. 如果尝试使用 open() 函数打开一个不存在的文件,是否会报错?
# 视情况而定
# 1. “在打开一个文件对象之后,大多数的文件操作都是在缓冲区里面进行的。
# 因此,如果希望将文件内容保存,我们需要使用 close() 方法关闭文件对象,
# 这样数据才能从缓冲区写入到文件中。”,那么请问大家,有没有办法在不关闭文件对象的情况下,
# 进行内容的保存呢?
# flush()函数
# 2. 请问如果指定 readline(size=-1) 方法的 size 参数为 3,那么表示的含义是什么?
# readline()方法会从文件中读取最多3个字符。
# 如果在读取3个字符之前遇到了换行符,它会停止读取并返回已经读取的内容。
# 如果在读取3个字符之前没有遇到换行符,它会返回3个字符,即使这不一定是一个完整的行。
# 3. 请问下面代码会在文件中写入几行字符串呢?
f = open("FishC.txt", "w")
f.writelines(["FishA", "FishB", "FishC"])
f.close()
# f.writelines不会在结尾处补充换行符,所以是一行
# 4. 请问在课堂中的代码,为什么我们写入的时候只有一个换行符,
# 但是使用 for 语句读取并打印出来却多了一个空白行呢?
f = open("FishC.txt", "w")
f.writelines(["I love FishC.\n", "I love my wife."])
f.close()
f = open("FishC.txt", "r")
for each in f:
print(each)
# I love FishC.
# I love my wife.
# print功能会额外添加一个换行符
# 5. 请问下面代码为什么会报错?
# f = open("C:\Users\goodb\Desktop\FishC.txt", "w")
# SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
# 在这个字符串中,\U 被解释为转义序列的开始,
# 但是后面没有跟随足够的字符来形成一个有效的Unicode转义序列,
# 所以Python会抛出一个 SyntaxError。
# 6. 使用 "w" 模式打开文件之前一定要注意什么?
# 文件覆盖:如果文件已经存在,使用 "w" 模式打开文件将会清空原有内容。如果你想保留原有内容并在末尾追加新内容,应该使用 "a"(追加)模式。
# 文件创建:如果文件不存在,使用 "w" 模式将会创建一个新文件。
# 权限问题:确保你有足够的权限来写入指定的文件。在某些操作系统或文件系统中,你可能需要管理员权限或者相应的读写权限。
# 路径正确性:确保提供的文件路径是正确的。如果路径错误,Python 将无法找到文件,可能会导致错误。
# 异常处理:文件操作可能会遇到各种异常,例如 IOError(输入/输出错误),因此应该使用 try-except 块来处理可能出现的异常。
# 关闭文件:在写入文件后,应该使用 close() 方法关闭文件,或者使用 with 语句来自动关闭文件。这有助于释放系统资源,并确保数据正确写入磁盘。
# 7. 如果一个文件不存在,是否可以使用 "a" 模式将其打开?
# 是的,如果文件不存在,使用 "a"(追加)模式打开文件时,Python 会创建一个新的文件。这样,您就可以立即开始向文件中追加内容。
# 8. 文件指针的作用是什么?
# 读写定位:在进行读写操作时,文件指针指示下一次读写操作将在文件的哪个位置进行。例如,如果你读取了一些数据,
# 文件指针会移动到已读取数据的末尾,以便下一次读取操作从新的位置开始。
# 顺序访问:在默认情况下,文件是以顺序访问模式操作的,这意味着文件指针按照从前往后的顺序移动。
# 你可以读取文件的前几个字节或写一些数据,然后文件指针会相应地向前移动。
# 随机访问:虽然默认是顺序访问,但许多文件类型(如普通文件)也支持随机访问,这意味着你可以显式地移动文件指针到文件的任意位置。
# 在Python中,这可以通过 seek() 方法实现。
# 文件状态:文件指针的位置也可以用来获取文件的状态信息,比如当前读写位置或文件是否已到达末尾。
# 9. 什么是 EOF?
# EOF 是 “End of File” 的缩写,表示文件的末尾。
# 当读取文件时,如果你已经到达了文件的末尾,继续尝试读取将会遇到 EOF。
# 在大多数编程语言中,遇到 EOF 会被视为一个条件或异常,用来通知程序不再有更多的数据可以读取。
# 10. 如何知道文件指针当前指定的位置?
# 在Python中,要确定文件指针当前的指定位置,可以使用文件对象的 tell() 方法。
# 这个方法会返回一个整数,表示文件指针距离文件开头的字节数。 |
|