问题标签 [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 - posix=false 的 shlex.split 不起作用(远程搜索文件)
上面的脚本我在 Windows 上运行,它根本不起作用。我只想远程搜索文件“ga.db3”是否存在。请告诉我。
python - Popen(shlex.split(command), shell=False, stdin=PIPE) error WindowsError: [Error 2] The system cannot find the file specified
我试图让一个 Popen 命令在带有 shell=False 的 Windows 上运行,而对于我的生活,我无法让它工作。iTMSTransporter 是一个命令行应用程序。这是我当前的代码:
这给了我错误:
我确定 progra~1 不是问题,因为它适用于 shell=True,并且还尝试了 Program Files,结果相同。有什么想法可以在 Windows 平台 Python 2.7 上运行吗?
python - Python - Popen(shlex.split(command), shell=False) - 不适用于 ffmpeg
我正在Popen(shlex.split(command)
运行一个 ffmpeg 命令,该命令从 quicktime mov 文件中保存 wav 文件,同时还保存一个 ffmpeg 日志文件。如果我使用这个:
然后命令正确完成,但是如果我添加保存日志文件的行,那么它不再起作用,所以如果我使用:
然后它不再起作用。在命令行中使用任一命令,不使用 python,都可以正常工作。如果我只是使用:
然后一切正常,但我需要使用shell=False
其他原因。
我只是不明白为什么它会通过添加“正确”的结束行来中断2> /Users/me/Documents/MOVS/lofFile.txt
python - Python 3 向后兼容性(shlex.quote 与 pipe.quote)
我的一个项目使用shlex.quote
自python 3.3以来可用。但这与移至 shlex 后不推荐使用shlex.quote
的相同。pipes.quote
现在为了兼容性,我正在使用以下代码:
有没有更好的做法?
python - Python Popen shell=False 导致 OSError: [Errno 2] No such file or directory FFREPORT
我在 OSX 上的 python 2.7 中已经工作的 ffmpeg 命令的前面添加了一个 FFREPORT 命令,这是为了重定向报告日志文件,但出现错误并且无法弄清楚如何修复它。
这是命令:
这给了我错误:
更新:
我现在已将其更改为合并下面的答案,但又遇到了另一个问题。我需要日志文件的路径作为变量,所以我正在尝试:
但我收到以下错误:
更新:修复:
python - 在 Python 中使用 shlex 进行词法分析时如何处理多字符运算符?
我正在编写一个语言解析器/解释器,我想我可以使用 shlex 模块来生成令牌,但是在使用多字符运算符时遇到了问题,例如+=
or **
。shlex 模块会将它们作为两个独立的运算符来使用,这并不理想。
我想我会尝试将运算符字符添加到 shlex.wordchars,但这会导致没有空格的代码出现问题:
因此,我有了一个想法,当我连续有多个可能是有效运算符的令牌时,我可以手动从令牌重建运算符。例如,如果我有一个+
标记后跟一个=
,那么我会将它们连接起来形成一个 '+='。但是,此解决方案会在诸如x - -3
. 它会被标记为x
,--
和3
,这也不是我想要的。
有什么方法可以简单地使用 shlex 模块来做我想做的事吗?还是我可能不得不自己编写一个标记器?
python - 从 Python 运行 Perl 代码(输出到文件)
我正在尝试从 Python 运行 Perl 脚本。我知道如果在终端中运行 Perl 脚本,并且我希望将 Perl 脚本的输出写入我需要> results.txt
在perl myCode.pl
. 这在终端中运行良好,但是当我尝试在 Python 中执行此操作时它不起作用。
这是代码:
尽管> results.txt
它不输出到该文件,但它确实输出到命令行。
python - 使用变量输入和文件输出作为来自 python 的参数调用 perl 脚本
我有一个可以从控制台执行的 perl 脚本,如下所示:
我想从我的 python 代码中执行这个脚本。我发现它subprocess.Popen
可以用来连接到 perl,我可以用它传递我的论点。但是,我还想传递一个变量(通过拆分文本文件生成)来代替 input.txt。我尝试了以下方法,但它似乎不起作用,并在第 8 行给出了明显的 TypeError:
有没有其他解决方法?
编辑:这是文件 fulltext.txt 的示例。条目由一行分隔。
我想将它们分开并将每个条目块传递给 perl 脚本。所有文件都在同一个目录中。
python - python, windows : 用 shlex 解析命令行
当您必须拆分命令行时,例如 call Popen
,最佳实践似乎是
subprocess.Popen(shlex.split(cmd), ...
但RTFM
该类
shlex
使为类似于 Unix shell 的简单语法编写词法分析器变得容易...
那么,win32上的正确方法是什么?那么报价解析和 POSIX 与非 POSIX 模式呢?