首页 > 解决方案 > 如何使用子进程检查用户的平台并在 Python 脚本中运行相应的命令?

问题描述

我需要执行一个因用户平台而异的命令。我目前在 Python 脚本中以这种方式设置它:

import platform
user_sys = platform.system()
if user_sys == 'Linux' or 'Darwin':
    cmd = "cat file1 file2..."
elif user_sys == 'Windows':
    cmd = "type file1 file2..."
subprocess.run(split(cmd))  # run on command line

问题

  1. 有没有更好的基于用户平台的执行方式?
  2. 为操作系统制作两个单独的程序而不是尝试将它们全部组合在一个脚本中会更明智/传统吗?

标签: pythonshellcommand-linesubprocess

解决方案


不,他们不是提取此信息的更好方法,他们不需要多伙伴脚本。

这就是我建议你可以改进的地方

from sys import platform as _platform

if _platform == "linux" or _platform == "linux2":
    # linux
elif _platform == "darwin":
    # MAC OS X
elif _platform == "win32":
    # Windows
elif _platform == "win64":
    # Windows 64-bit

推荐阅读