Python 子进程 subprocess.Popen 类使用技项 常见问题
subprocess.Popen 是 Python 开启 管理子进程的常用类。
其首 args 自变量可为序列或字符串 (注意:有些时候,只能是字符串)。
若通过 subprocess.Popen 开启的子进程环境未继承 (或缺少) 某些路径, 请修改 sys.path 变量值 (或相关环境变量)。
Python2.7 对非 ASCII 字符集 (如 GB18030) 的支持并不完整。
因此,使用 subprocess.Popen 时,不能包含非 ASCII 字符。 且 Python2.7 已于 2020 年 01 月停止维护,此问题不会得到修补。
subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)
Python3.x 对非 ASCII 字符集 (如 GB18030) 的支持完美。
因此,使用 subprocess.Popen 时,可包含非 ASCII 字符。
subprocess.Popen(args , bufsize=-1, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=True, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, restore_signals=True, start_new_session=False, pass_fds=(), *, encoding=None, errors=None)
另请参阅:
CPython2.7 subprocess.Popen()不忍直视的Unicode中文路径Bug 解决办法
版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。