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

Python 如何获取文件上游两个目录的文件夹路径名?

Python 如何获取文件上游两个目录的文件夹路径名?,python,glob,Python,Glob,使用glob2和操作系统,我希望目录'/a/b/'给定文件路径'/a/b/c/xyz.txt' 我已经能够(递归地)通过glob2中的/*和/**在目录中向前移动,但不能通过父目录向后移动。我不想使用正则表达式或拆分。使用glob和/或操作系统是否有一种简单的方法可以做到这一点?为什么使用glob dir_path = file_path.split('/') what_i_want = '/' + dir_path[10] + '/' + dir_path[1] + '/' 您还可以通过查找

使用glob2和操作系统,我希望目录
'/a/b/'
给定文件路径
'/a/b/c/xyz.txt'

我已经能够(递归地)通过glob2中的
/*
/**
在目录中向前移动,但不能通过父目录向后移动。我不想使用正则表达式或拆分。使用glob和/或操作系统是否有一种简单的方法可以做到这一点?

为什么使用glob

dir_path = file_path.split('/')
what_i_want = '/' + dir_path[10] + '/' + dir_path[1] + '/'
您还可以通过查找第三个斜杠的索引来实现这一点,使用每个调用的返回作为下一个调用的“start”参数

third_slash = file_path.index('/', file_path.index('/', file_path.index('/')+1) +1)
what_i_want = file_path[:third_slash+1]
为什么是地球仪

dir_path = file_path.split('/')
what_i_want = '/' + dir_path[10] + '/' + dir_path[1] + '/'
您还可以通过查找第三个斜杠的索引来实现这一点,使用每个调用的返回作为下一个调用的“start”参数

third_slash = file_path.index('/', file_path.index('/', file_path.index('/')+1) +1)
what_i_want = file_path[:third_slash+1]

os.path.dirname(os.path.dirname(“/a/b/c/xyz.txt”)
?我真的建议使用rsplit,尽管
“/a/b/c/xyz.txt”.rsplit(“/”,2)[0]
你说得对-我认为rsplit最有意义。它简明易懂,便于我以后阅读和理解。
os.path.dirname(os.path.dirname(“/a/b/c/xyz.txt”)
?我真的建议使用rsplit,尽管
“/a/b/c/xyz.txt”。rsplit(“/”,2)[0]
你是对的,我认为rsplit最有意义。这本书简明易懂,便于我以后阅读和理解。