如何在python中生成目录的路径
我在工作区目录下有一个abc.py文件 我正在abc.py中使用os.listdir'/home/workspace/tests'列出所有文件test1.py、test2.py 我想生成路径“/home/workspace/tests”甚至“/home/workspace”,而不是硬编码它 我尝试了os.getcwd和os.path.dirnameos.path.abspath\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu如何在python中生成目录的路径,python,path,operating-system,listdir,Python,Path,Operating System,Listdir,我在工作区目录下有一个abc.py文件 我正在abc.py中使用os.listdir'/home/workspace/tests'列出所有文件test1.py、test2.py 我想生成路径“/home/workspace/tests”甚至“/home/workspace”,而不是硬编码它 我尝试了os.getcwd和os.path.dirnameos.path.abspath\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
如何操作?引用特定文件夹的唯一方法是将其作为参数传递给脚本,而不是绝对路径,因为您不想以任何方式对其进行硬编码 绝对路径类似于:/home/workspace 相对工作区如下所示。/../workspace 您应该构造从脚本所在的目录/home/workspace/tests到要访问的目录/home/workspace的相对路径,在本例中,这意味着在目录树中向上走一步 您可以通过执行以下命令来实现此目的: os.path.dirnameos.path.join..,os.path.abspath\uu文件__ 如果向上走两步,向下走一步到workspace dir,可能会获得相同的结果: os.path.dirnameos.path.join….,工作区,os.path.abspath\uu文件__
通过这种方式,您实际上可以访问任何目录,而不知道它的绝对路径,但只知道它相对于您执行的文件位于何处。根据什么信息生成它?/home/workspace/tests与工作目录、脚本/模块的位置或其他可用数据的关系如何?脚本可用的唯一路径是当前工作目录和文件的放置位置。Python脚本如何“了解”/home/workspace?这个路径是基于什么的?如果你想列出一个目录中的所有文件,那么也要访问这个副本,将你的脚本命名为abc.py是一个稍微糟糕的主意;abc是一个stdlib模块,尽管您不太可能经常使用它。如果/home/workspace是一个用户的主目录,并且您希望将路径基于此,请查看。