如何在 Python 中选择文件名的一部分(省略扩展名)? [复制]
Posted
技术标签:
【中文标题】如何在 Python 中选择文件名的一部分(省略扩展名)? [复制]【英文标题】:How do I select part of a filename (leave out the extension) in Python? [duplicate] 【发布时间】:2014-04-22 19:29:20 【问题描述】:例如,如果我有变量“file.txt”,我希望能够只将“文件”保存到变量中。我想要的是消除最后一个点(包括点)之外的任何东西。所以如果我有“file.version2.txt”,我会留下“file.version2”。 有没有办法做到这一点?
【问题讨论】:
检查一下[删除最后n个字符][1] [1]:***.com/questions/10645959/… 结合使用os.path.basename
和os.path.splitext
似乎是一个好的开始
【参考方案1】:
你必须使用os.path.splitext
In [3]: os.path.splitext('test.test.txt')
Out[3]: ('test.test', '.txt')
In [4]: os.path.splitext('test.test.txt')[0]
Out[4]: 'test.test'
类似操作的完整参考可以在这里找到http://docs.python.org/2/library/os.path.html
【讨论】:
这正是我所需要的。在使用 os.path.splitext 之前,我需要添加的只是“import os” 如果你得到了答案然后选择它作为答案:) 它告诉我我必须等待几分钟,否则我会:) 如果它告诉你等待,那么你必须;)【参考方案2】:使用模块os.path
,您可以检索文件的全名,然后删除扩展名:
import os
file_name, file_ext = os.path.splitext(os.path.basename(path_to_your_file))
【讨论】:
【参考方案3】:如果这不是太长,如果文件在同一目录中,您可以这样做
old_f = 'file.version2.txt'
new_f = old_f.split('.')
sep = '.'
sep.join(new_f[:-1]) # or assign it to a variable current_f = sep.join(new_f[:-1])
【讨论】:
以上是关于如何在 Python 中选择文件名的一部分(省略扩展名)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 中扩展为“base.html”模板样式