I am using Fedora 17 xfce and I am programming in Python 2.7.3. Fedora uses a package manager called yum. I have a python script that searches for packages like this:
You would want to use the subprocess module for that, since os.system() simply returns the exit code of a command:
from subprocess import check_output
out = check_output(['yum', 'list', raw_input('package name')])
You could also use Yum's API directly to search packages:
from yum import YumBase
base = YumBase()
for package, name in base.searchGenerator(['name'], ['python']):
print(package.name, package.version)
os.system will not return any of the output. The question you linked to has the right answer. If you only got the first line of the output, maybe you were trying to read it line by line?
The right way to get the entire output is this:
import subprocess
package = raw_input("...")
p = subprocess.Popen(["yum", "install", package], stdout=subprocess.PIPE)
out, err = p.communicate()
# Wait for the process to exit before reading
p.wait()
full_output = out.read()