hedgehogues Asked:2024-05-27 01:44:38 +0000 UTC2024-05-27 01:44:38 +0000 UTC 2024-05-27 01:44:38 +0000 UTC 如何访问操作系统(OS):在Python中从命令行(终端)执行命令? 772 如何在 Python 中调用外部命令,就像在命令行中键入它一样? python 1 个回答 Voted Best Answer Oopss 2024-05-27T02:05:36Z2024-05-27T02:05:36Z import subprocess import pprint def run_command(command): result = subprocess.run(command , shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) return { 'command': command, 'stdout': result.stdout, 'stderr': result.stderr, 'returncode': result.returncode } # Выполнение команды ls s_ls = run_command('ls /') # Выполнение команды df s_df = run_command('df -h') # Вывод результата pprint.pprint(s_df) pprint.pprint(s_ls) {'command': 'df -h', 'returncode': 0, 'stderr': '', 'stdout': 'Файловая система Размер Использовано Дост Использовано% ' 'Cмонтировано в\n' 'udev 237M 0 237M 0% /dev\n' 'tmpfs 50M 1,7M 48M 4% /run\n' '/dev/sda1 1,5G 1,2G 245M 83% /\n' 'tmpfs 248M 0 248M 0% /dev/shm\n' 'tmpfs 5,0M 0 5,0M 0% ' '/run/lock\n' 'tmpfs 248M 0 248M 0% ' '/sys/fs/cgroup\n' 'tmpfs 50M 0 50M 0% ' '/run/user/1000\n'} {'command': 'ls /', 'returncode': 0, 'stderr': '', 'stdout': 'bin\n' 'boot\n' 'dev\n' 'etc\n' 'home\n' 'initrd.img\n' 'initrd.img.old\n' 'lib\n' 'lib64\n' 'libx32\n' 'lost+found\n' 'media\n' 'mnt\n' 'opt\n' 'proc\n' 'root\n' 'run\n' 'sbin\n' 'srv\n' 'sys\n' 'tmp\n' 'usr\n' 'var\n' 'vmlinuz\n' 'vmlinuz.old\n'}
1 个回答