file.visible()覆盖外部文本文件-错误或错误代码?

时间:2019-01-20 01:16:14

标签: python python-3.x file

我正在youtube上使用python3上一个教程-在本练习中,如果我选择了打开的“ r”选项来读取文件,则代码可以正常运行。如果我将“ r”切换为“ w”,则第一次运行会很好,告诉我它无法读取文件-这是预期的结果。但是,当我再次查看employee.txt或尝试在启用“ r”选项的情况下重新运行代码时,我看到文本文件为空。

我已经尽我所能尝试了所有语法,但是到目前为止,我还没有弄清楚为什么它会清空文本文件

您将如何解决此类问题?还是您看到的代码中有明显的东西? (代码与课程示例完全相同)。

#!/usr/bin/env python3
# Script Name - reading-files.fcc.py

employee_file = open("employees.txt", "r")

if employee_file.readable() == True:
    print(employee_file.read())
    employee_file.close()
    exit
else:
    print("Cannot read file.")
    employee_file.close()
    exit

这是employee.txt:

Jim - Sales
Dwight - Sales
Pam - Sales
Michael - Manager
Oscar - Accounting

2 个答案:

答案 0 :(得分:0)

This可能是一个不错的帖子,供您考虑。

w模式打开文件将覆盖文件,这意味着除非之后向文件写入任何内容,否则它将有效地清空文件的内容-在您的情况下,没有其他文本,则呈现文件的内容空白。

答案 1 :(得分:0)

使用'w'选项打开文件时,employee_file.readable()返回False,因此它将打印一行,关闭并保存一个空文件