我有一个要用作文件名的字符串,因此我想使用Python删除文件名中不允许的所有字符。
我宁愿严格一点,所以假设我只保留字母,数字和一小部分其他字符,例如"_-.() "
。什么是最优雅的解决方案?
文件名在多个操作系统(Windows,Linux和Mac OS)上必须有效-这是我库中的MP3文件,歌曲名称为文件名,并且在3台计算机之间共享和备份。
您可以查看Django框架,了解它们如何从任意文本创建“子弹”。slug是URL和文件名友好的。
Django文本工具定义了一个函数,slugify()
这可能是此类事物的黄金标准。本质上,它们的代码如下。
def slugify(value):
"""
Normalizes string, converts to lowercase, removes non-alpha characters,
and converts spaces to hyphens.
"""
import unicodedata
value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore')
value = unicode(re.sub('[^\w\s-]', '', value).strip().lower())
value = unicode(re.sub('[-\s]+', '-', value))
# ...
return value
还有更多,但我不予赘述,因为它不解决节段化,而是逃脱。
问题内容: 我试图从一个对象。该字符串包含一些字符,需要用其百分比转义序列替换。但是,当我使用URLEncoder以UTF-8编码对String进行编码时,即使将/替换为其转义序列。 如何从String对象获取有效的编码URL? http://www.google.com?q=a b给出 **http%3A%2F%2www.google.com …, 而我希望输出为 http://www.goog
我返回文档,并将其用作以在稍后阶段获取文档。 返回,然后在或或中使用它将导致强制转换错误或 hex不是一个函数。 基本上也是直接从数据库复制粘贴以进行测试。 我用的是猫鼬^4.7。6; <代码>\u id看起来像: [堆栈痕迹] [CastError:CasterToObjectId在路径“586e30a597f85b69891df304”处对模型“模块”的值“586e30a597f85b6989
问题内容: 我有一个无效的json字符串,如下所示, 我尝试使用JSON.parse将其转换为对象。但是,这不是有效的json字符串。是否有任何函数可以将这种无效格式转换为有效的json字符串或直接转换为对象? 问题答案: 如果您的示例语法与真实JSON相同,则JSONLint表示您需要对名称和值使用双引号。 仅在这种情况下,请使用以下替换调用: 但是,您首先应该尝试使用有效的Json。
问题内容: 我想使用JSON发送大字节数组启发了我,为了减少开销,我想使用base128编码(实际上可以产生有效的json字符串)。但不幸的是,我无法找到一些在JS中进行转换的过程。我将发布过程作为对此问题的答案,但是可能是某人的过程更短,或者可能是在JSON中有效发送二进制数据的更好的主意。 问题答案: ES6: 编码 解码 我在这里嵌入功能-这里。这里的掩盖思想是将字节数组转换为位数组,然后将
问题内容: 我正在尝试将base64图像字符串转换为图像文件。 使用以下代码将其转换为图像文件: 但是我遇到了错误,这是怎么了? 问题答案: 问题是编码内容中包含该内容。当base64函数对其进行解码时,这将导致无效的图像数据。像这样在解码字符串之前先删除函数中的数据。
有没有一种方法可以直接将集合转换为字符串(而不需要先将集合转换为数组)?我看过Mozilla的文档,我觉得这可能是一种方法。我就是这么做的:
问题内容: 如何将经典字符串转换为f字符串? 输出: 所需的输出: 问题答案: f字符串是 语法 ,而不是对象类型。您不能将任意字符串转换为该语法,该语法会创建一个字符串对象,而不是相反。 我假设您想用作模板,因此只需在对象上使用方法: 如果要提供可配置的模板服务,请创建一个包含所有可以插值的字段的名称空间字典,并与调用语法一起使用以应用名称空间: 然后,用户可以在字段中的名称空间中使用任何键(或
问题内容: 我有一个字符串,该字符串基本上包含一堆JSON格式的文本,最终我希望将其以“漂亮打印”格式导出到Excel,并带有适当的缩进嵌套等。 出于可读性考虑,必须保留键/值的原始顺序。我想实现自己想要的目标的过程是 a)使用类似eval的方法将字符串转换为字典,b)使用collections库中的OrderedDict保持顺序完整。 但是我没有得到预期的结果: 我也还没有弄清楚如何将输出以漂亮