Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何打开与Python程序位于同一文件夹中的文件夹中的文件?_Python_Python 2.7 - Fatal编程技术网

如何打开与Python程序位于同一文件夹中的文件夹中的文件?

如何打开与Python程序位于同一文件夹中的文件夹中的文件?,python,python-2.7,Python,Python 2.7,基本上,我正在寻找一种简单的方法来打开与程序位于同一文件夹中的文件夹中的文本文件。 我的目录结构如下所示: text=functionthatgetsfilename() file=open("textfiles/"+text,"r") /programfolder/textfiles/textfile 我试着像这样使用open: text=functionthatgetsfilename() file=open("textfiles/"+text,"r") 我做错了什么?我只是在某个地方打

基本上,我正在寻找一种简单的方法来打开与程序位于同一文件夹中的文件夹中的文本文件。 我的目录结构如下所示:

text=functionthatgetsfilename()
file=open("textfiles/"+text,"r")
/programfolder/textfiles/textfile

我试着像这样使用open:

text=functionthatgetsfilename()
file=open("textfiles/"+text,"r")

我做错了什么?我只是在某个地方打错了吗?

您需要知道当前目录和脚本所在目录之间的区别。当前目录是启动应用程序的目录,位于命令行(CMD、SH等)。您可以使用
os.path.normpath(os.curdir)
来显示这一点

要解决您的问题,您可以使用

file=open(os.path.join(os.path.dirname(__file__),'holdstextfiles',text),'r')

第一个解决方案使用到所需文件的绝对路径,无论发生什么情况,该路径都是相同的:它是绝对路径


第二个解决方案在尝试使用您正在使用的相对路径之前更改当前目录。

Twired\n而不是/?Yes,它不起作用。这看起来会是什么样子?可能是我刚刚犯了一个简单的错误…..是functionThatGetsFileName()返回名称和扩展名,或者只是名字?为什么不先打印一次文件名?另外,尝试将打开模式更改为
a+
,然后查看创建文件的位置;那你就知道Python在找什么了。谢谢!你真是帮了大忙@Gregor请单击问题旁边的小复选标记接受问题。