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

Python中的相对路径

Python中的相对路径,python,Python,我正在编写一些python代码来生成相对路径。需要考虑的情况是: 在同一文件夹下。我想要“.”或“\”,这两个都适合我 其他文件夹。我想要像“\xxx\”和“.\xxx\xxx\” os.path.relpath()将生成相对路径,但在开头和结尾都没有。\n。最后,我们可以使用os.path.join(dirname,“”)添加\项。但是我不知道如何在开始时添加“\”而不影响第一个案例,当它们位于同一文件夹下时,“.\xxx\xxx\”它将为您提供相对路径 import os dir = os.

我正在编写一些python代码来生成相对路径。需要考虑的情况是:

  • 在同一文件夹下。我想要“.”或“\”,这两个都适合我
  • 其他文件夹。我想要像“\xxx\”和“.\xxx\xxx\”

  • os.path.relpath()将生成相对路径,但在开头和结尾都没有。\n。最后,我们可以使用os.path.join(dirname,“”)添加\项。但是我不知道如何在开始时添加“\”而不影响第一个案例,当它们位于同一文件夹下时,“.\xxx\xxx\”

    它将为您提供相对路径

    import os
    dir = os.path.dirname(__file__)
    filename = os.path.join(dir,'Path')
    

    它将为您提供相对路径

    import os
    dir = os.path.dirname(__file__)
    filename = os.path.join(dir,'Path')
    
    函数的relpath()将生成“.”语法,并提供适当的起始基(第二个参数)。例如,假设您正在编写一个脚本生成器,它使用相对路径生成代码,如果工作目录作为relpath()的第二个参数,如下所示,并且您希望在代码中引用项目中上一层和两层目录下的另一个文件,您将得到“./blah/blah”。。如果要在同一文件夹中为路径添加前缀,只需使用“.”进行连接即可。这将生成具有正确的操作系统特定分隔符的路径

    print(os.path.relpath("/foo/bar/blah/blah", "/foo/bar/baz"))
    >>> ../blah/blah
    
    print(os.path.join('.', 'blah'))
    >>> ./blah    
    
    函数的relpath()将生成“.”语法,并提供适当的起始基(第二个参数)。例如,假设您正在编写一个脚本生成器,它使用相对路径生成代码,如果工作目录作为relpath()的第二个参数,如下所示,并且您希望在代码中引用项目中上一层和两层目录下的另一个文件,您将得到“./blah/blah”。。如果要在同一文件夹中为路径添加前缀,只需使用“.”进行连接即可。这将生成具有正确的操作系统特定分隔符的路径

    print(os.path.relpath("/foo/bar/blah/blah", "/foo/bar/baz"))
    >>> ../blah/blah
    
    print(os.path.join('.', 'blah'))
    >>> ./blah    
    

    反斜杠??啊,一个windows用户…反斜杠??啊,windows用户…提供更多内容来支持您的答案,仅添加代码片段似乎不是一个好的答案。我认为这是不言而喻的,但无论如何,relpath()函数将生成“.”语法,并提供适当的起始基(第二个参数)。例如,如果工作目录如第二个参数所示,并且您希望在代码中引用项目中一级目录和两级目录下的另一个文件,那么您将得到“./blah/blah”。。如果要在同一文件夹中为路径添加前缀,只需使用“.”进行连接即可。这将生成一个具有正确操作系统特定分隔符的路径。请将其写入您的答案;)提供更多内容来支持您的答案,仅添加代码片段似乎不是一个好的答案。我认为这是不言而喻的,但无论如何,relpath()函数将生成“.”语法,并提供适当的起始基础(第二个参数)。例如,如果工作目录如第二个参数所示,并且您希望在代码中引用项目中一级目录和两级目录下的另一个文件,那么您将得到“./blah/blah”。。如果要在同一文件夹中为路径添加前缀,只需使用“.”进行连接即可。这将生成一个具有正确操作系统特定分隔符的路径。请将其写入您的答案;)