问题标签 [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 - distutils.util.split_quoted 和 shlex.split 有什么区别
python 标准库提供distutils.util.split_quoted
和shlex.split
.
是否有任何情况会distutils.util.split_quoted(s)
给出不同的结果shlex.split(s)
?
python - shlex.split() returning whole command as a single string
shlex.split() is not giving the proper output on the input string.
In python interpreter, storing the input value in a variable produces the expected output.
But if i execute via a script, shlex.split()
output is incorrect and input string did not split on whitespace.
Am i missing something here?
python - 如何在python中转义命令行的参数?
我正在编写一个需要使用subprocess
模块调用外部命令的脚本。问题是我需要将用户提供的文件传递给命令,因此它看起来类似于:
我必须运行命令shell=True
才能使其工作,这就是为什么我将命令作为字符串而不是列表传递。
问题是有人可能会传递一个名为: 的文件somefile && rm -rf ~
,这是一个有效的文件名,原因很奇怪(至少在 windows 上。不知道 mac/linux),然后发生了不好的事情。
因此,我需要在将用户输入传递给 shell 之前对其进行转义。我想为此使用内置shlex.quote
函数,所以通过上面的示例,我得到:'somefile && rm -rf ~'
并且命令变为:command arg1 arg2 'somefile && rm -rf ~cmd'
它应该在 unix 系统上工作。问题是这种转义在带有命令提示符的 Windows 上不起作用,因此我的脚本在我的 Windows 机器上失败。
是否有内置或第三方函数/库可以为所有平台正确转义命令行参数,或者至少对于 Windows(因为shlex.quote
适用于 unix)?
我正在 Windows 上开发,所以我需要这个脚本才能在这个平台上工作,我不认为这样的东西"{userfile}"
就足够好了。
python 3的任何解决方案将不胜感激。
python - Python shlex 没有右引号错误——如何处理?
这个简单的代码:
会导致ValueError: No closing quotation
错误:
我认为'
是错误的。我该如何处理?我从文件中读取了这一行,所以我不能只\
在每个引用或其他内容之前输入。
python - Python子进程:返回值不正确
我正在编写一个使用子进程的 Python 模块,以查看进程是否已运行并获取其 PID。到目前为止,我已经完成了运行进程的部分。
进程清楚地运行,但是这段代码有问题,所以它抛出了我的自定义异常 ReturnFalseValue。
这是我对该方法的小单元测试...
正如你所看到的,它打印了 HelloWorld,但由于某种原因,它认为有一个错误,好像 echo 没有返回 0 但确实有效。
python - subprocess.run“无结束引号”的格式化字符串
我有这个命令要运行:
其格式为:
并跑进:
是什么导致了错误ValueError: No closing quotation
?
python - 如何从python子进程中检索输出
我正在使用 Python subprocess 函数,因为我想实时读取命令的输出流。
但我希望在流程结束后,所有作为流输出写入的内容都完全返回给对象。
实际结果:
我只获得已完成过程的代码状态。标准输出为空,但应包含已处理命令的所有输出。
我使用 Python 3.7.4
我不知道该怎么办。
python-3.x - 如何拆分多字串但在某些单词组合处转义拆分?
假设我有一个字符串:
有无 shlex 怎么办?
我试图做的方式是:
python - 如何使用 python 获取 wlan 设备名称?
我只想要带有 python 的 linux 系统上的 wlan 设备名称。我可以使用 shell 脚本获取设备名称:
所以我想在 python 中使用这个subprocess
。
但我只得到None
输出。如果可能的话,我更喜欢使用subprocess.run()
. 所以我换成Popen
了run
. 但后来我收到错误消息AttributeError: 'bytes' object has no attribute 'fileno'
。
python - 我如何从终端启动 youtube 全屏
我正在尝试通过终端调用运行视频以获得全屏和良好的分辨率,但我不知道如何设置参数。
我在linux上,我在终端上这样做:
但是:1-它没有运行,它只是在等待启动 2-它不是全屏 3-如何选择视频质量 4-是否可以将音频音量设置为 100%
我想避免硒,但如果有必要,我应该写什么?