sfdisk fernsteuern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Matthias81
User
Beiträge: 4
Registriert: Freitag 20. Juni 2014, 09:05

Hallo,

kann mir jemand einen Tipp geben wie man folgenden BASH Code in Python3 umsetzen kann:?

Code: Alles auswählen

{
echo ,4,32,*
echo ,31,,-
echo ,31,,-
echo ,,,-
} | sudo  sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE
Viele Grüße,
Matthias
BlackJack

@Matthias81: Das `subprocess`-Modul und `os.environ` wären die Tipps die mir spontan einfallen.

Edit: Ungetestet:

Code: Alles auswählen

from __future__ import print_function
import os
from subprocess import PIPE, Popen


def main():
    sfdisk_process = Popen(
        [
            'x_sudo_x',  # "Defused" on purpose. :-)
            'sfdisk',
            '-D',
            '-H', '255',
            '-S', '63',
            '-C', os.getenv('CYLINDERS', ''),
            os.getenv('DRIVE', '')
        ],
        stdin=PIPE
    )
    sfdisk_process.communicate(',4,32,*\n,31,,-\n,31,,-\n,,,-\n')


if __name__ == '__main__':
    main()
Antworten