如何在 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.basenameos.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 中选择文件名的一部分(省略扩展名)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何在省略注释的同时从属性文件创建字典

如何在 Django 中扩展为“base.html”模板样式

如何在 Google Cloud Platform 中配置托管实例组和自动扩缩

#python# 操作文件和目录

如何在Python中将列表扩展为函数参数[重复]

wireshark 中数据部分显示不全,怎么办