2017-03-09 6 views
0

Problem Anweisung ausführen: Ein Skripteinen Linux-Befehl mit Python

Szenario Pakete in Oracle Linux 7 mit Python zu installieren: habe ich eine Textdatei "oracle_package-requirement.txt" -> enthält Pakete nennen ich bin auf das folgende Programm mit, dass anhängen Typ Variable mit folgenden Code zur Liste:

/usr/bin/env python

import os f = open ("/ home/Dipesh/oracle_package_requirement.txt" , "r") myList = -y installieren yum

Also meine Frage an die Gemeinde myList.append (Linie)

jetzt will ich myList als Eingang passieren ist, wie dies in meinem Python schreiben: [] für Zeile in f Code????

+1

Mögliches Duplikat [Befehl auf Linux Terminal ausführen subprocess in Python] (http://stackoverflow.com/questions/24240910/execute-command-on- Linux-Terminal-Using-Subprozess-in-Python) – mustaccio

Antwort

0

können Sie die Subprozess Modul verwenden:

import os 
import subprocess 

f = open("/home/dipesh/oracle_package_requirement.txt","r") 
myList = [] 
for line in f: 
    myList.append(line.strip()) # strip to get rid of trailing newline 
subprocess.check_call(['yum', '-y', 'install'] + myList) 
+0

Sie versuchen, Befehle Modul in Python. – Mushir

+0

@Mushir From commands module docs: "Veraltet seit Version 2.6: Das Befehlsmodul wurde in Python 3 entfernt. Verwenden Sie stattdessen das Unterprozessmodul." –

+0

@RusselSimmons Danke das hat funktioniert :-) –