So schließen Sie Python ab, ohne die Systemeinstellungen zu manipulieren. Python3.5(3.4)~
Um das Passwort von einem anderen als dem Terminal mit sudo einzugeben, müssen Sie es von der Standardeingabe mit der Option -S übergeben. Sie benötigen auch ein Zeilenumbruchzeichen.
Übergeben Sie "Passwort + Zeilenvorschubzeichen" als Byte-Zeichenfolge an die Argumenteingabe von subprocess.run () (subprocess.check_output für Python3.4) (Argumenteingabe wurde aus Python3.4 hinzugefügt).
Ein Beispiel für das aufeinanderfolgende Mounten und Aufheben der Bereitstellung mehrerer ISO-Dateien.
import os
import subprocess
import getpass
import tempfile
#Erstellen eines temporären Einhängepunkts
mp = tempfile.mkdtemp()
#Passwort eingeben
passwd = (getpass.getpass() + '\n').encode()
while True:
path = input('Input file path (".quit" to quit) : ')
if path == '.quit':
os.rmdir(mp)
raise SystemExit
subprocess.run(('sudo', '-S',
'mount', '-t', 'iso9660', '-o', 'loop', path, mp),
input=passwd, check=True)
"""Gonyo Gonyo"""
subprocess.run(('sudo', '-S', 'umount', mp), input=passwd, check=True)
http://docs.python.jp/3/library/subprocess.html
Recommended Posts