基本上我正在寻找一种简单的方法来打开文件夹,该文件夹位于与程序相同的文件夹中。 我的目录结构如下所示:
/programfolder/textfiles/textfile
我正试图像这样使用open:
text=functionthatgetsfilename()
file=open("textfiles/"+text,"r")
我做错了什么?我在某个地方有错字吗?
答案 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 路径之前更改了当前目录。