Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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_Path_Operating System_Listdir - Fatal编程技术网

如何在python中生成目录的路径

如何在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

我在工作区目录下有一个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


如何操作?

引用特定文件夹的唯一方法是将其作为参数传递给脚本,而不是绝对路径,因为您不想以任何方式对其进行硬编码

绝对路径类似于:/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是一个用户的主目录,并且您希望将路径基于此,请查看。