相关疑难解决方法(0)

在Python中调用外部命令

如何在Python脚本中调用外部命令(就像我在Unix shell或Windows命令提示符下键入它一样)?

python shell terminal command subprocess

4553
推荐指数
57
解决办法
325万
查看次数

子进程中'shell = True'的实际含义

我用subprocess模块调用不同的进程.但是,我有一个问题.

在以下代码中:

callProcess = subprocess.Popen(['ls', '-l'], shell=True)
Run Code Online (Sandbox Code Playgroud)

callProcess = subprocess.Popen(['ls', '-l']) # without shell
Run Code Online (Sandbox Code Playgroud)

两者都有效.阅读文档后,我开始知道这shell=True意味着通过shell执行代码.这意味着在缺席的情况下,该过程将直接启动.

那么我应该更喜欢我的情况 - 我需要运行一个进程并获得其输出.从shell内部或外部调用它有什么好处.

python subprocess

236
推荐指数
5
解决办法
14万
查看次数

"消防并忘记"来自Python脚本的过程

如何从Python脚本启动一个进程(例如另一个Python脚本),以便"子"进程与"父"完全分离,因此父进程可以a)继续其快乐方式而无需等待子进程完成和b)可以在不终止子进程的情况下终止?

家长:

import os

print "Parent started"
os.system("./child.py")
print "Parent finished"
Run Code Online (Sandbox Code Playgroud)

儿童:

import time

print "Child started"
time.sleep(10)
print "Child finished"
Run Code Online (Sandbox Code Playgroud)

运行parent.py打印:

Parent started
Child started
Child finished
Parent finished
Run Code Online (Sandbox Code Playgroud)

我想要它打印:

Parent started
Child started
Parent finished
(seconds later)
Child finished
Run Code Online (Sandbox Code Playgroud)

python subprocess

7
推荐指数
2
解决办法
4741
查看次数

如何在Mac上使用python更改文件的创建日期?

我需要更新 .mp4 文件的创建时间,以便它出现在按创建日期排序的媒体文件列表的顶部。我可以使用 os.utime 轻松更新文件的访问日期和修改日期,但尚未找到将文件的创建日期更改为“现在”的好方法。

我的最终目标是使用 appium 将媒体文件种子到 iOS 模拟器,并在该脚本中访问这些媒体文件。问题是视频文件不会显示在应用程序的“最近添加”部分,因为它已经有几天了。

python python-2.7 appium python-appium appium-ios

7
推荐指数
1
解决办法
2950
查看次数

为什么不推荐使用os.system()执行Shell命令?

根据

在上一节中,我们看到了该os.system()函数的正常工作。但是不建议您执行Shell命令。我们将使用Python子进程模块执行系统命令。

作者从没os.system()在他/她的帖子中提到为什么不推荐这样做。我可以知道为什么不建议这样做吗?

是否存在任何安全漏洞os.system(),因此不建议执行Shell命令?

python

5
推荐指数
1
解决办法
106
查看次数