subprocess.call CD 不工作
subprocess.call cd not working
In [3]: pwd
Out[3]: u'/Users/aarcher/Desktop/scripts'
In [5]: subprocess.call(['mkdir', '-p', os.path.expanduser('~/file/path/name')])
Out[5]: 0
我在另一个终端验证它已成功创建 /Users/aarcher/file/path/name,但无法更改到该目录,即使它 returns 0:
In [7]: subprocess.call(['cd', os.path.expanduser('~/file/path/name')], shell=True)
Out[7]: 0
In [8]: pwd
Out[8]: u'/Users/aarcher/Desktop/scripts'
我在 unix 盒子里
subprocess.call()
创建一个 new 进程。 cd 在那个进程中工作,但是当进程退出时它不会影响当前进程。这就是流程设计的工作方式。
如果您需要将脚本更改到不同的目录,您可以使用 os.chdir 这将更改当前进程的目录。
对于此任务,使用 suprocess 不是个好主意。只需使用 python os 模块
试试这个::
In [12]: import os
In [13]: os.getcwd()
Out[13]: '/home/najeeb'
In [14]: os.chdir('/home/najeeb/Desktop/project/')
In [15]: os.getcwd()
Out[15]: '/home/najeeb/Desktop/project'
In [16]:
如果您现在遇到任何问题,请告诉我!
In [3]: pwd
Out[3]: u'/Users/aarcher/Desktop/scripts'
In [5]: subprocess.call(['mkdir', '-p', os.path.expanduser('~/file/path/name')])
Out[5]: 0
我在另一个终端验证它已成功创建 /Users/aarcher/file/path/name,但无法更改到该目录,即使它 returns 0:
In [7]: subprocess.call(['cd', os.path.expanduser('~/file/path/name')], shell=True)
Out[7]: 0
In [8]: pwd
Out[8]: u'/Users/aarcher/Desktop/scripts'
我在 unix 盒子里
subprocess.call()
创建一个 new 进程。 cd 在那个进程中工作,但是当进程退出时它不会影响当前进程。这就是流程设计的工作方式。
如果您需要将脚本更改到不同的目录,您可以使用 os.chdir 这将更改当前进程的目录。
对于此任务,使用 suprocess 不是个好主意。只需使用 python os 模块 试试这个::
In [12]: import os
In [13]: os.getcwd()
Out[13]: '/home/najeeb'
In [14]: os.chdir('/home/najeeb/Desktop/project/')
In [15]: os.getcwd()
Out[15]: '/home/najeeb/Desktop/project'
In [16]:
如果您现在遇到任何问题,请告诉我!