使用两个不同的开发环境执行相同的程式码,出现了不同的结果

我在spyder3.8和VScode1.58两个开发环境执行下面这段程式码后,前者成功读取了文本,但后者却没有成功读取。

filename = 'guest_book.txt'
try:
    with open(filename) as file_object:
        contents = file_object.read()
    print(contents)
except FileNotFoundError:
    print(f"sorry,the file {filename} can not be found.")
讨论数量: 5
Jason990420

插入以下代码, 检查文本文件是否与代码文件在同一个目录

# 相对路径文件, 该文本文件表示方式为与代码文件在同一个目录

filename = 'guest_book.txt'

# 检查该文本文件是否与代码文件在同一个目录, 两种方式都可以.

import os
print(os.getcwd())                      # 代码文件目录
print(os.path.isfile(filename))         # 该文本文件是否存在

from pathlib import Path
print(Path.cwd())                       # 代码文件目录
print(Path(filename).is_file())         # 该文本文件是否存在
2年前 评论

@Jason990420 我在执行前是手动将文本移到了同一个文件夹的。

2年前 评论

@Jason990420 我刚刚尝试了一下,输入绝对路径"C:\Users\S5300U\python_work(vsc)\0710\guest_book.txt"就可以,而相对路径"guest_book.txt"则不行。

2年前 评论
Jason990420

肯定是代码文件与文本文件不在同一个目录

2年前 评论

最简单的尝试,你把txt文件那里写绝对路径试一下。这代码看着没什么毛病。编辑器只是写代码的工具而已,最终还是py文件

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!