问题标签 [shlex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - shlex.split 的反面是什么?
我怎样才能扭转 a 的结果shlex.split
?也就是说,在给定我希望引用的字符串的情况下,如何获得一个“类似于 Unix shell”的带引号的字符串?list
更新0
我找到了一个 Python 错误,并在此处提出了相应的功能请求。
python - 使 shlex.split 尊重 UNC 路径
我shlex.split
用来标记subprocess.Popen
调用的参数。但是,当其中一个 args 是 UNC 路径时,事情就会变得棘手:
生产
如您所见,前面的反斜杠被剥离了。我正在通过添加以下两行来解决这个问题,但是有更好的方法吗?
python - elisp 相当于 python shlex.split?
我需要在 elisp 中解析一个命令行,例如:
我怎样才能以简单的方式做到这一点?
python - Python shlex.split(),忽略单引号
在 Python 中,我如何使用shlex.split()
或类似于拆分字符串,只保留双引号?例如,如果输入是,"hello, world" is what 'i say'
那么输出将是["hello, world", "is", "what", "'i", "say'"]
。
python - 通配符在使用 shlex 的子进程调用中不起作用
语言:Python v2.6.2
操作系统:AIX 5.3
我正在使用 Python 将一些文件从备份恢复到测试系统 - 所有命令都以下面的方式调用,但是有些命令根本不想工作。
如果我从命令中删除 *,它们可以正常工作(好吧,它们可以在没有通配符的情况下正常工作,不幸的是,这不是我想要的)。
出于明显的安全原因,我真的不想使用 shell=True ,但是还有一些其他命令基本上做同样的事情。如果命令中有通配符,它就不起作用——它执行没有错误,只是什么都不做。
有趣的是以下命令(通过 shlex 解析):
产生以下内容:
mv: 0653-401 无法将 /work/testrestore/production/* 重命名为 /work/TESTC/*:路径名中的文件或目录不存在。
就好像 unix 现在正在尝试移动一个名为 * 的文件,而不是使用 * 作为通配符。这是 shlex 的典型行为吗?
编辑:我尝试用 \ 转义 *,还尝试从单引号更改为双引号。我并不希望这样做。
python - 在 Haskell 中拆分类似 shell 的语法?
如何在 Haskell 中以 shell 样式的语法拆分字符串?Python 中的等价物是shlex.split
.
python - Windows 和 linux 中的 subprocess.Popen 和 shlex.split 格式
我正在编写一个包装器来通过 Python(2.7.2)自动化一些 android ADB shell 命令。因为在某些情况下,我需要异步运行命令,所以我使用subprocess .Popen方法来发出 shell 命令。
我遇到了方法[command, args]
参数格式的问题Popen
,其中需要命令/参数拆分在 Windows 和 Linux 之间是不同的:
我试过使用shlex .split(),有和没有 posix 标志:
两种情况都返回相同的拆分。
subprocess
是否有正确shlex
处理特定于操作系统的格式的方法?
这是我目前的解决方案:
我不认为shlex.split()
在这里做任何事情,并cmd.split()
取得相同的结果。
python - 解析这种脚本语言的最有效方法
我正在为一个过时的文本编辑器的脚本语言实现一个解释器,我在让词法分析器正常工作时遇到了一些麻烦。
这是该语言有问题的部分的示例:
这些/
字符似乎引用了字符串,并且还充当 -type 语法中C
( CHANGE
) 命令的分隔符sed
,尽管它允许任何字符作为分隔符。
parse_tokens(line.split())
到目前为止,我可能已经实现了大约一半最常见的命令。这又快又脏,但效果却出奇的好。
为了避免编写我自己的词法分析器,我尝试了shlex
.
它工作得很好,除了以下CHANGE
情况:
任何人都知道一个简单的方法来完成这个(用shlex
或其他)?
编辑:
如果有帮助,这里是CHANGE
帮助文件中给出的命令语法:
同样难以标记X
和Y
命令:
python - 使用 Python 通过 ssh 将文件分类到远程 bash 脚本
我正在使用带有 shlex 的 subprocess.popen 来使用 ssh 调用远程 bash 脚本。该命令在 bash 本身上运行良好。但是,一旦我尝试使用 subprocess.popen 将其转换为 python 和 shlex,它就会出错。
远程 bash 脚本:
BASH CMD 结果(在命令行调用远程 bash 脚本)
Python代码
Python脚本结果:
我错过了什么?
python - Python shlex.split 函数的 Powershell 替代方案
我正在寻找 Powershell 的 python shlex.split() 函数的替代方法。到目前为止,谷歌还没有帮助我。
如果您不知道此函数的作用,它允许您将字符串拆分为多个“字段”列表,但不包括带引号的子字符串。
例如:
以下字符串: 我对此“没有灵感”
将按以下方式拆分:我,有,没有灵感,因为,这个
我想为此切换到 powershell 的原因是避免在我们的生产 Windows 服务器上安装 python。
提前致谢