访问外部程序的文件输出

时间:2016-03-30 10:11:26

标签: python subprocess

我试图从Python中调用一个创建输出的程序,我想在外部程序完成时使用这个输出。 程序串是

" sudo fing -r 1> fingoutput.txt"

我设法用

调用该程序
from subprocess import call

cmd = ['sudo', 'fing', '-r 1']

call(cmd)

但是我无法将其输出到文件中。

cmd = ['sudo', 'fing', '-r 1 > fingoutput.txt']

cmd = ['sudo', 'fing', '-r 1', '> fingoutput.txt']

产生

错误:多次出现

我想将输出写入文件,因为它可能是数千行。

感谢您的帮助,

赫伯特。

2 个答案:

答案 0 :(得分:1)

您可以使用$firstname = $row['firstname']; $MI = $row['MI']; $lastname = $row['lastname']; $gender = $row['gender']; $status = $row['status']; $maiden = $row['maiden']; $bday = $row['bday']; $contactno = $row['contactno']; $email = $row['email']; $insert_sql=mysqli_query($conn, "INSERT INTO members (firstname, MI, lastname, gender, status, bday, contactno, email) VALUES ('$firstname','$MI','$lastname','$gender','$status','$bday','$contactno','$email')"); if($insert_sql){ mysqli_query($conn, "DELETE FROM requests WHERE id=".$_GET['view_id']); header("Location: pendingrequests.php"); } 参数将命令输出重定向到文件:

stdout

答案 1 :(得分:0)

如果您想从shell脚本本身重定向到文件,您可以随时使用

cmd = 'sudo fing -r 1 > fingoutput.txt'
call(cmd, shell=True)

cmd = 'sudo fing -r 1 > fingoutput.txt'
p = Popen(cmd, shell=True, stdout=PIPE, stdin=PIPE)

保持shell = True可能会导致安全问题。