Python不打开与脚本位于同一目录中的文本文件

Python不打开与脚本位于同一目录中的文本文件,python,Python,我正在尝试用python打开一个文件。很简单。我使用的脚本与我的代码所在的目录相同,所以我只使用 myfile = open('file.txt', 'r') 这在以前工作得很好,但现在我收到错误“没有这样的文件或目录”(Errno2) 为什么会这样?我已经使用操作系统检查我是否在正确的目录中,这是很好的。python现在做的与20分钟前完全找到文件时有什么不同呢?假设您试图打开/读取的文件具有适当的权限,行为是根据您调用python程序的方式定义的。假设您的代码和文件.txt位于~/Desk

我正在尝试用python打开一个文件。很简单。我使用的脚本与我的代码所在的目录相同,所以我只使用

myfile = open('file.txt', 'r')
这在以前工作得很好,但现在我收到错误“没有这样的文件或目录”(Errno2)


为什么会这样?我已经使用操作系统检查我是否在正确的目录中,这是很好的。python现在做的与20分钟前完全找到文件时有什么不同呢?

假设您试图打开/读取的文件具有适当的权限,行为是根据您调用python程序的方式定义的。假设您的代码和
文件.txt
位于
~/Desktop

如果您在
~/Desktop
中执行
python code.py
操作,您的代码将运行良好。但是,如果您在主文件夹-
~
中执行
python~/Desktop/code.py
,则python解释器将假定您当前的工作目录为
~
,并将返回错误:

IOError: [Errno 2] No such file or directory: 'file.txt'
因为它在
~

此外,在给定示例的上下文中:

os.getcwd()
返回主目录的绝对路径和

os.path.realpath(__file__)

返回python源文件的绝对路径

是否可能键入了错误的名称,例如“test.fna”与“test.fna.txt”

是否可以从命令行
ls-la
复制/粘贴以显示文件和权限,以及启动应用程序的命令和输出?我添加了ls。要启动应用程序,我打开驱动程序文件并输入文件名。在本例中,这是test1文件,我还需要.ptt文件。两者都找不到..您的任何文件都没有跨所有者、组或其他人的读取权限。更改权限没有任何作用。它甚至不能在第一个地方找到该死的文件…检查你的代码中的文件名,你可能有“test1.fna”没有“.txt”的结尾,但我和两者都在同一个文件夹中。我想这是因为我使用Cygwin来使用ls。我不知道如何在windows中从命令行执行ls:(我猜,由于Cygwin是一个模拟器,它没有对我的windows文件的权限。这很愚蠢,现在只会让人困惑。编辑:去掉ls,如果你能告诉我如何从cmd中执行等效操作,那就太好了。@Pavelwaysberg好的Cygwin解释了权限问题。你能粘贴一个SSCCE(源、调用和输出)吗)来证明你的问题?