在python 3中删除字符串中某个字符之后的每个字符[重复]

Posted

技术标签:

【中文标题】在python 3中删除字符串中某个字符之后的每个字符[重复]【英文标题】:Remove every character after a certain character in a string in python 3 [duplicate] 【发布时间】:2016-10-06 14:52:47 【问题描述】:

我正在为我的游戏打开纹理包并将文件名保存在一个表中,但是当我使用 os.listdir() 时,它会返回带有扩展名的文件名。有没有办法可以删除标记文件扩展名的点之后的所有字符?

示例:将'Body.png' 更改为'Body' 或将'Head.jpeg' 更改为'Head'

谢谢!

【问题讨论】:

注意,第一个答案很好,只是他们使用的是 python2.x。对于python3.x,只需要使用print函数即可。 【参考方案1】:

你可能想要os.path.splitext。这对于从文件名中拆分文件扩展名很有用。

这是一个例子:

>>> import os.path
>>> os.path.splitext('Body.png')
('Body', '.png')
>>> os.path.splitext('Body.png')[0]
'Body'

【讨论】:

我将如何使用它。 或更简单>>> path = "c:/temp/x.txt" 然后分割路径并取第一部分... >>> path.split(".")[ 0] 'c:/temp/x' @DanPatterson -- 但很可能是错的......如果你有一个文件名:path = 'c:/temp.foo/x.txt'?我想path.rsplit(".", 1)[0] 可能更健壮?但我宁愿依赖一个库函数来处理所有这些奇怪的极端情况...... @mgilson 你对rsplit 说的很对。它更正确。尽管如此,除了库的健壮性之外,使用os.path.splitext 在语义上也更加清晰。 @TimHoffmann -- 是的,我绝对同意。我认为语义比人们认为的更重要......

以上是关于在python 3中删除字符串中某个字符之后的每个字符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript (html) 在某个字符出现之前/之后删除所有内容

python删除list列表多个指定位置中的元素

华为OD机试真题 Python 实现删除重复数字后的最大数字100%通过率2022.11 Q4 新题

华为OD机试真题 Python 实现删除重复数字后的最大数字100%通过率2022.11 Q4 新题

JS中如何删除某个指定字符(前)后的字符串

Python如何删除文本文件中特定字符串之后或之前的特定行数