通常地
sys
指的是
蟒蛇
系统,而不是整个操作系统。由于您试图调用Python之外的东西,因此它属于
os
不
系统
.
明确地
sys.path
is for importing Python modules.
但您不是在调用Python代码:您是在调用系统shell,即您要使用转义到的Python之外的解释器
os.system
。在Windows上,这是
cmd.exe
。系统外壳不使用
搜索路径
; 相反,它的路径在环境变量中指定
PATH
.
可以从Python访问环境变量。在这种情况下,您可以查询并将其值更改为
os.environ['PATH']
。它的值是字符串,而不是列表,因此您不能
.append()
相反,你可以说这样的话:
bin_directory = r"C:\OSGeo4w\bin"
os.environ['PATH'] += os.path.pathsep + bin_directory
在Windows上,
os.path.pathsep
是分号。在类似POSIX的系统上,它将是冒号。在这两种类型的操作系统上,相关变量可通过以下方式访问:
'PATH'
(在Windows上
'Path'
,但很高兴
os.environ
提供大小写不变的接口)。
旁注:
操作系统
速度快、脏兮兮的,正在被弃用。有关备选方案,请参见
Calling an external command in Python