为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python脚本在目录之间“cd”

如何使用python脚本在目录之间“cd”

qq_笑_17 2021-10-19 17:17:25
我正在编写一个测试脚本,如果该路径被确认存在并且是一个目录,它应该从当前目录 cd 到一个新的目录serial_number = input("Enter serial number: ")directory = "/etc/bin/foo"if os.path.exists(directory) and os.path.isdir(directory):   #cd into directory?   subprocess.call(['cd ..' + directory])我的困境是我不知道如何正确地将变量传递给子进程命令,或者我是否应该使用 call 或 Popen。当我尝试上面的代码时,它返回一个错误,说No such file or directory "cd ../etc/bin/". 我需要从当前目录返回一个目录,这样我就可以进入/etc并读取其中的一些文件。有什么建议吗?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

更改使用的工作目录

os.chdir("/your/path/here")

子进程将产生新进程,这不会影响您的父进程。


查看完整回答
反对 回复 2021-10-19
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

你应该使用os.chdir(directory)然后调用来打开你的进程。我想这会更简单易读


查看完整回答
反对 回复 2021-10-19
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

无法使用子进程更改当前目录,因为这只会在该子进程的上下文中更改当前目录,而不会影响当前进程。

相反,要更改 Python 进程中的当前目录,请使用 Python 的函数:os.chdir,例如:

os.chdir('../etc/bin/')

另一方面,如果您的想法是 Python 脚本不执行任何其他操作,而只是更改目录而不是退出(这就是我对问题的理解),那也不起作用,因为当您退出 Python 进程时,当前父进程的工作目录将再次不受影响。


查看完整回答
反对 回复 2021-10-19
  • 3 回答
  • 0 关注
  • 288 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号