问题标签 [os.system]

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.

0 投票
1 回答
1296 浏览

python - os.system() 的控制台输出?

在交互式解释器中调用 os.system() 时,您可以在控制台中看到它输出的内容。但就我而言,我需要将 sys.stderr 和 sys.stdout 更改为另一个类的实例,并在 exec 语句中调用 os.system 函数。问题是,我看不到它的输出。它不写入 stderr 也不写入 stdout。所以我的问题是: os.system() 的打印输出到哪里去了?

谢谢, 尼克拉斯

0 投票
2 回答
756 浏览

python - 检测并处理通过 Python 中的 os.system 调用生成的 LaTeX 警告/错误

我编写了一个 python 脚本来自动将 Sweave/LaTeX 文档转换为 PDF。这是最重要的部分:

如果没有错误,这很好用,但如果有 LaTeX 错误,我会被带到 LaTeX 的 CLI,例如,

然后我需要手动打破这个。有没有一种方法可以让 Python “知道” os.system 调用在 LaTeX 中生成了一个错误,然后结束这个调用但仍然捕获错误文本?

0 投票
0 回答
60 浏览

python - 调试 os.sytem 调用。-- Python 关心哪些环境变量?

可能重复:
启动 python 子进程具有不同的行为,具体取决于启动器

Python 父进程如何影响 Python 子进程?

我有一个 Python 脚本,它通过这样的os.system调用(script1.py)调用另一个 Python 解释器:

os.system("C:\path\batch_file_that_starts_up_python.bat C:\pathtoother\script2.py")

script1.py在命令行运行时,script2.py加载正常。script1.py在 GUI 中运行时script2.py无法加载 dll。

sys.path在命令行或 GUI 中运行时具有相同的值。

我的调用方案的详细信息在这个问题中:Launching python subprocess has different behavior based on launcher`

0 投票
2 回答
1314 浏览

python - 在 Ubuntu Python 2.7 中读取 os.system() 命令的输出

所以我在 Ubuntu 11.4 和 Python 2.7 上运行如下代码:

发生的事情是我最终没有结果,并且没有运行扫描,可能是因为它正在使用“sudo”运行。我想知道

  1. 如果我对问题的诊断是正确的,并且
  2. 如何解决?
0 投票
3 回答
1402 浏览

python - os.system 或子进程将命令传递给 shell

我正在尝试在 shell 中执行命令并同时通过管道输出进行过滤。

相关代码如下所示:

结果是

它在 ubuntu 上,似乎网上的一些参考资料提到了这一点,但没有一个我可以直接关联。似乎 subprocess 可能会有所帮助,但大多数例子都超出了我目前的理解。

0 投票
1 回答
872 浏览

python - applescript中的python:自动机中的subprocess.call vs os.system

从 automator(mac os x 10.6.8 中的 2.1.1 版)(python 2.6.1)的 shell 脚本调用 python 脚本时,我发现了一种解决方法。我的问题是 os.system("mkdir foo") 在 subprocess.call("mkdir foo")也创建目录但随后使自动机抛出错误的(非常具体的)情况下工作。

我的自动化应用程序的目的是接受拖放到其上的图像。automator 应用程序只有一个操作:使用以下代码“运行 shell 脚本”:

$f 是拖动图像的名称。(“运行 shell 脚本”设置为将输入作为参数传递。)这是奇怪的部分:

在'uploader.py'脚本中,我这样称呼:

它使目录。但没有进入下一个语句。automator 会抛出一个错误对话框(它只是说我应该去检查我的脚本)。

相比之下,如果我从终端“手动”调用 uploader.py:

它工作顺利。在对此感到困惑之后,我尝试用 os.system 替换 call:

这适用于自动机和终端。我有一种感觉,我忽略了一些明显的事情,因为这是一个非常奇怪的问题。但我想无论如何我都会把它放在那里。有什么想法吗?

-梅尔

0 投票
4 回答
32390 浏览

python - 在python中更改用户

我正在编写一个简单的脚本来重新启动 hadoop 从站。在脚本中,我必须以 root 用户身份进行一些初始更改。之后,我必须更改为用户“hadoop”并执行一组命令。我正在使用 os.system 运行命令,但我怀疑它是否运行良好。例如:

在此之后我必须再次以 root 身份执行一些命令,然后再次成为用户“hadoop”并执行:

我这里有三个问题,

  1. os.system 是我可以用来发出 linux 命令的最佳命令吗?

  2. 我可以通过上面的命令从 root 用户更改为 hadoop 用户,但我无法更改为 root 用户(我可以理解如果他们允许这样做会有安全问题,我想知道是否有可能这样做,至少通过密码)?

  3. os.setuid() 有效吗?whoami 打印用户 hadoop,但使用这些命令并没有停止进程“tasktracker”,但如果我手动执行相同的命令,它工作正常(我在手动尝试时使用“su hadoop”而不是 setuid)。

感谢你的帮助。

  • 塞图
0 投票
1 回答
802 浏览

python - 操作系统不退出

我正在研究一个基于 python 的 tkinter 脚本,其中流程是这样的:

可以通过在 unix 终端上指定脚本名称和参数来运行 csh 脚本。编写了一个 python 脚本来从用户(在 GUI 中)获取脚本名称和参数输入。然后,python 脚本需要在用户提示时执行脚本(GUI 中的 RUN 按钮)

我正在运行的代码是这样的

它能够执行代码......唯一的问题是:执行结束后控件不会切换回python脚本。它只是在终端中等待.. 或者光标在终端中不断闪烁,好像仍在执行某些操作(我确定执行已经结束)

请建议如何切换回控件。

0 投票
3 回答
2629 浏览

python - 当脚本不在同一文件夹中时,Python,os.system 失败

我有一个包含以下命令的 bat.bat 文件:'setup.py build'

我有一个使用以下命令执行此 bat 命令的脚本:
os.system('E:/bla/FPtest/retryURL/Temp_installed/bat.bat'

如果我从与 bat.bat 相同的文件夹中运行脚本......它可以完美运行。

如果我在任何其他文件夹中运行它,则会返回以下错误。

我也尝试过subprocess.Popen返回相同的结果,它包含在顶部:C:\Eclipse\Workspace\example>setup.py build... mmmmmm ...

更新:

我决定在保存 bat.bat 文件的同一目录中运行 os.system 命令(这也是存储 setup.py 的目录)

现在的电话应该就这么简单了。

结果:

附加说明:

如果我运行任何“简单”的 .bat 文件,一切正常。如果我在解释器之外运行 .bat 文件,它也可以正常工作......这让我相信是 .bat 文件的内容导致了问题,内容是:setup.py build
在这种情况下,.bat 文件的内容会执行一个 cx_freeze 命令来冻结和执行,但上面的错误是我尝试这个时返回的

更新:

如果从标准 python 解释器运行,它似乎正在运行 'os.system('bat.bat') 或子进程等效成功执行 .bat 文件。所以只有从 Pydev 运行才会不成功

0 投票
1 回答
247 浏览

python - 连续多处理

我正在使用 multiprocessing.py 过滤巨大的文本文件。该代码基本上打开文本文件,对其进行处理,然后将其关闭。

问题是,我希望能够在多个文本文件上连续启动它。因此,我尝试添加一个循环,但由于某种原因它不起作用(而代码适用于每个文件)。我相信这是一个问题:

但是,我正在寻找其他东西。我试图创建一个 Launcher 和一个 LauncherCount 文件,如下所示:

和,

我 import LauncherCount.py,并 LauncherCount.LauncherCount用作我的循环索引。

当然,这也不起作用,因为它在LauncherCount.LauncherCount本地编辑变量,因此在 LauncherCount 的导入版本中不会对其进行编辑。

有没有办法全局编辑导入文件中的变量?或者,有没有其他方法可以做到这一点?我需要的是多次运行代码,更改一个值,并且显然不使用任何循环。

谢谢!

编辑:如有必要,这是我的主要代码。抱歉画风不好...