这是我将其简化为一个简单的open()的代码,显示Open文件输入语句但是Close文件没有显示。它在Idle接口中运行,但不在命令行界面中运行。
程序和文件(拼写正确且全部小写)都在桌面上进行此测试。有没有人看到缺少的东西?打开
# Read It
# Demonstrates reading from a text file
input("\n\nPress the enter key to Open file")
print("Opening and closing the file.")
text_file = open("nicole1.txt", "r")
input("\n\nPress the enter key to Close file")
text_file.close()
input("\n\nPress the enter key to exit.")
**更新,好的我尝试了绝对路径并且没有成功。我在闪存驱动器上有这个副本。我在Windows XP盒子和Windows 7盒子上运行它,它运行得很好。我使用相同的闪存驱动器并尝试在Windows10 Box上运行它,我得到了问题。一条评论询问是否存在回溯并且存在并且它基本上表明该文件不存在。我现在正在尝试确定这是否是Windows 10问题。此外,代码将在两个Windows Box(XP和Win10)上空闲运行。
答案 0 :(得分:1)
我在 Windows 10 上遇到了同样的问题,解决方案是,尽管听起来很愚蠢,只是简单地减少路径长度。显然,Windows (10) 在公元 2021 年仍然存在路径很长的问题。
答案 1 :(得分:0)
您如何运行此程序? 如果通过命令行,则将该文件放入包含此代码的python文件所在的同一文件夹中。 正如其他人指出的那样,问题是程序无法找到该文件。 如果通过某个IDE运行此文件,则将工作目录设置为此路径。例如,Pycharm(和其他Intellij IDE)在“编辑配置”中具有此功能。
答案 2 :(得分:0)
好吧,除了我最初偶然地将其命名为nicole1.txt.txt
的事实(由于Windows自动使用扩展名而Linux并未使用它的方式)之外,它对于我使用Windows 10 Home和Pro来说也非常好Ubuntu 16.04。
我只是在命令提示符中使用包含您的脚本的python test.py
执行了test.py
,并确保两个文件都在同一目录中。
由于不再使用它们,因此无法在任何其他Windows版本上对其进行测试。
顺便说一句,顺便说一句,您可能希望将代码重写为:
input("\n\nPress the enter key to Open file")
print("Opening and closing the file.")
with open("nicole1.txt", "r") as text_file:
input("\n\nPress the enter key to Close file")
text_file.close()
input("\n\nPress the enter key to exit.")
这样,无论发生什么情况,您都可以确保文件已关闭。 是的,我知道,从技术上来说,该文件已关闭两次。