当前位置: 首页 > 面试题库 >

Python模块到shellquote / unshellquote?

丁念
2023-03-14
问题内容

Python标准库中是否有任何东西可以正确解析/解析字符串以供在Shell命令中使用?我正在寻找与perl的python类似物String::ShellQuote::shell_quote

$ print String::ShellQuote::shell_quote("hello", "stack", "overflow's", "quite", "cool")
hello stack 'overflow'\''s' quite cool

而且,更重要的是,某些东西将在相反的方向上起作用(取一个字符串并将其分解为一个列表)。


问题答案:

pipes.quote现在shlex.quote在python 3中。使用该代码很容易。

https://github.com/python/cpython/blob/master/Lib/shlex.py#L281

该版本可正确处理零长度参数。



 类似资料:
  • 问题内容: 我最近在计算机上安装了cx_Oracle模块,以连接到远程Oracle数据库服务器。(我身边没有Oracle客户端)。 Python:2.7 x86版 Oracle:版本11.1.X x64 Cx_Oracle:版本5.1.2-11g.win32-py2.7 然后,每次我运行脚本时,脚本都会失败并显示以下消息: ImportError:DLL加载失败:找不到指定的模块。 我想知道是否我

  • 问题内容: 我是Python的初学者。在开始之前,这是我的Python文件夹结构 在下面,我有一个名为的文件夹,其中有一个Python文件,其内容如下: 接下来,我位于文件夹中,位于上一级: 每当我运行它都会导致错误 我有什么想念的吗? 问题答案: Python中的所有模块都必须具有特定的目录结构。您可以在此处找到详细信息。 在目录下创建一个空文件,使您的目录结构如下所示: 同样在文件中,将imp

  • 问题内容: 我有一个python项目(我在virtualenv中运行),其结构如下: script.py 我使用以下命令从venv激活运行项目,并从Project目录中运行该项目: 该脚本会运行,但是在退出之前会发出以下错误: 我试过运行python shell并尝试从那里导入模块,但没有出错。我在src的每个目录中都有_ _init__.py。python是否将工作目录视为src / scrip

  • fnmatch 模块主要用于文件名称的匹配,其能力比简单的字符串匹配更强大,但比使用正则表达式相比稍弱。。如果在数据处理操作中,只需要使用简单的通配符就能完成文件名的匹配,则使用 fnmatch 模块是不错的选择。 fnmatch 模块中,常用的函数及其功能如表 1 所示。 Python fnmatch模块常用函数及功能 函数名 功能 fnmatch.filter(names, pattern)

  • 相比 pathlib 模块,os.path 模块不仅提供了一些操作路径字符串的方法,还包含一些或者指定文件属性的一些方法,如表 1 所示。 表 1 os.path 模块常用的属性和方法 方法 说明 os.path.abspath(path) 返回 path 的绝对路径。 os.path.basename(path) 获取 path 路径的基本名称,即 path 末尾到最后一个斜杠的位置之间的字符串

  • 主要内容:PurePath 类的用法,Path类的功能和用法和前面章节中引入的模板不同,pathlib 模块中包含的是一些类,它们的继承关系如图 1 所示。 图 1 pathlib模块中类的组织结构 图 1 中,箭头连接的是有继承关系的两个类,以 PurePosixPath 和 PurePath 类为例,PurePosizPath 继承自 PurePath,即前者是后者的子类。 pathlib 模块的操作对象是各种操作系统中使用的路径(例如指定文件位置的路