繁体   English   中英

从字符串中删除 shell 转义字符

[英]remove shell escape characters from a string

我正在创建一个基于终端的 python 应用程序,用户将 csv 文件拖放到终端中以获取文件路径。 因此文件路径被转义。

如何删除所有实例?

例如,我有一个文件

thisisatestfile/\(2).csv

但是当我将它拖到终端时,它显示为:

thisisatestfile\:\\\(2\).csv

我有一个需要删除的所有 shell 转义字符的列表: link to characters

我不太擅长正则表达式,所以非常感谢任何帮助!

我刚刚用shlex.split实现了这个

>>> shlex.split('thisisatestfile/\(2).csv')
['thisisatestfile/(2).csv']

由于此方法旨在获取原始 shell 调用并返回要传递给的参数列表,例如subprocess.Popen ,因此它返回一个列表。 如果您知道只有一个字符串要处理,只需获取返回列表的第一个元素。

>>> shlex.split('thisisatestfile/\(2).csv')[0]
'thisisatestfile/(2).csv'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM