多线程时,线程共享导致一个子线程切到某个路径后,另一个线程的工作目录改变。
在多线程中尽量不要使用os.chdir()
来进行目录切换,可以用绝对路劲来进行操作。
例如:
- os路径操作时,使用绝对路径操作,而不是先切换目录,再使用相对路径操作
- subprocess执行命令时,使用subprocess的cwd参数,来指定工作路径
- 采用多进程的方式,因为进程间是隔离的,互不影响,但是多进程的资源消耗相对多
多线程时,线程共享导致一个子线程切到某个路径后,另一个线程的工作目录改变。
在多线程中尽量不要使用os.chdir()
来进行目录切换,可以用绝对路劲来进行操作。
例如: