当前位置: 首页 > 面试题库 >

在Python中提取一部分文件路径(目录)

束俊英
2023-03-14
问题内容

我需要提取某个路径的父目录的名称。看起来是这样的:

c:\stuff\directory_i_need\subdir\file

我正在使用使用文件directory_i_need名(而不是路径)的东西来修改“文件”的内容。我创建了一个函数,该函数会给我所有文件的列表,然后…

for path in file_list:
   #directory_name = os.path.dirname(path)   # this is not what I need, that's why it is commented
   directories, files = path.split('\\')

   line_replace_add_directory = line_replace + directories  
   # this is what I want to add in the text, with the directory name at the end 
   # of the line.

我怎样才能做到这一点?


问题答案:
import os
## first file in current dir (with full path)
file = os.path.join(os.getcwd(), os.listdir(os.getcwd())[0])
file
os.path.dirname(file) ## directory of file
os.path.dirname(os.path.dirname(file)) ## directory of directory of file
...

您可以根据需要继续执行多次…

编辑:
从os.path,您可以使用os.path.split或os.path.basename:

dir = os.path.dirname(os.path.dirname(file)) ## dir of dir of file
## once you're at the directory level you want, with the desired directory as the final path node:
dirname1 = os.path.basename(dir) 
dirname2 = os.path.split(dir)[1] ## if you look at the documentation, this is exactly what os.path.basename does.


 类似资料:
  • 我只想从文件的完整路径中获取文件夹路径。 例如,我希望只得到(不包括)。 我曾经尝试过这样的事情: 但它给了我这样一个结果: 这不是我需要的结果(是)。 关于如何获取文件路径有什么想法吗?

  • 问题内容: 我只想从完整路径到文件获取文件夹路径。 例如,我想要得到(不包括)。 我已经尝试过这样的事情: 但是它给了我这样的结果: 这不是我需要的结果(为)。 关于如何获取文件路径的任何想法? 问题答案: 您几乎可以使用该功能了。您只需要加入字符串,如下所示。 虽然,我建议使用该函数来执行此操作,但是您只需要传递字符串即可,它将为您完成工作。由于您似乎在Windows上,因此也考虑使用该功能。一

  • 问题内容: 如何从URL获取特定的路径部分?例如,我想要一个对此进行操作的函数: 并返回“ hithere” 或对此进行操作: 并返回相同的内容(“ hithere”) 我知道这可能会使用urllib或urllib2,但我无法从文档中弄清楚如何仅获取路径的一部分。 问题答案: 使用urlparse提取URL的路径部分: 使用os.path.split将路径拆分为组件: dirname和basena

  • 本文向大家介绍Python如何获取文件路径/目录,包括了Python如何获取文件路径/目录的使用技巧和注意事项,需要的朋友参考一下 一、获取文件路径实现 1.1 获取当前文件路径 __file__变量其实有个问题,当文件被是被调用文件时__file__总是文件的绝对路径;但当文件是直接被执行的文件时,__file__并不总是文件的绝对路径,而是你执行该文件时给python传的路径。比如你是pyth

  • 问题内容: 我需要从给定目录获取文件及其父目录的路径,但不包括它。 因此,例如,如果给我的方法指定path:作为路径,它将返回该目录及其下所有文件的路径。 因此,如果有子文件夹:,并且每个包含,则该方法的结果将是2个字符串,其中包含和 并且如果在其中有一个目录,该目录中有,则为该文件创建的字符串将为,并且如果还有其他子目录可以继续。 我的想法是我只想要文件上方的目录路径,而不是绝对路径,因此只希望

  • 问题内容: 无论使用哪种操作系统或路径格式,我都可以使用哪个Python库从路径提取文件名? 例如,我希望所有这些路径可以返回我: 问题答案: 使用或建议使用并非在所有情况下都可行:如果你在Linux上运行脚本并尝试处理经典的Windows样式路径,它将失败。 Windows路径可以使用反斜杠或正斜杠作为路径分隔符。因此,该模块(在Windows上运行时等效于)将适用于所有平台上的所有(1)路径。