我在工作区目录下有一个文件abc.py
。
我在os.listdir('/home/workspace/tests')
中使用abc.py
列出了所有文件(test1.py
,test2.py
...)
我想生成路径'/home/workspace/tests'
甚至'/home/workspace'
而不是硬编码。
我尝试了os.getcwd()
和os.path.dirname(os.path.abspath(____file____))
,但这会生成运行测试脚本的路径。
如何去做?
答案 0 :(得分:0)
您可以通过任何方式引用与之无关的特定文件夹并且您不想对其进行硬编码的唯一方法是将其作为参数传递给脚本(search for: command line argument)
答案 1 :(得分:0)
我认为你问的是如何获得相对路径而不是绝对路径。
绝对路径就是:“/ home / workspace”
相对看起来像下面的“./../workspace”
您应该构建从您的脚本所在的目录(/ home / workspace / tests)到您要访问的目录(/ home / workspace)的相对路径,这意味着,在这种情况下,向上迈出一步在目录树中。
您可以通过执行以下操作来实现: os.path.dirname(os.path.join(“..”,os.path.abspath( __ file __ )))
如果您向上走两步并向下一步到工作区目录,则可以获得相同的结果: os.path.dirname(os.path.join(“..”,“..”,“工作区”,os.path.abspath( __ file __ )))
通过这种方式,您实际上可以在不知道绝对路径的情况下访问任何目录,但只知道它相对于执行文件的位置。