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

时间:2013-02-25 04:12:23

标签: python python-2.7

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

/programfolder/textfiles/textfile

我正试图像这样使用open:

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

我做错了什么?我在某个地方有错字吗?

1 个答案:

答案 0 :(得分:2)

您需要知道当前目录与脚本所在目录之间的区别。您当前的目录是您从命令行(CMD,SH,等等)。您可以使用os.path.normpath(os.curdir)显示该内容。

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

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

os.chdir(os.path.dirname(__file__))
...

第一个解决方案使用所需文件的绝对路径,无论如何都是相同的:它是绝对

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