Python2.x在不同目录中运行命令行命令

Python2.x在不同目录中运行命令行命令,python,linux,Python,Linux,假设我运行的Python脚本存储在~SomeFolder/sample\u项目中 如果要运行此命令: import subprocess command_pushd ='pushd /Users/user/Desktop/test'.split() subprocess.call(command_pushd) >>> ~/Desktop/test ~/SomeFolder/sample_project 我希望pushd命令只引用/Users/user/Desktop/te

假设我运行的Python脚本存储在
~SomeFolder/sample\u项目中

如果要运行此命令:

import subprocess

command_pushd ='pushd /Users/user/Desktop/test'.split()
subprocess.call(command_pushd)

>>> ~/Desktop/test ~/SomeFolder/sample_project
我希望pushd命令只引用
/Users/user/Desktop/test
文件路径。后续命令不起作用并引发以下错误:

command_zip ='zip -r -e -Ptest test.zip ./sample_file.txt'.split()
subprocess.call(command_zip)

zip warning: name not matched: ./sample_file.txt
zip error: Nothing to do! (try: zip -r -e -Ptest test.zip . -i ./sample_file.txt)

有办法做到这一点吗?

不起作用怎么办?您从何处运行command_zip?如果我在命令行上手动运行这些命令,它就会工作。但是,如果我尝试在.py文件上编写脚本,它将不起作用,并给我一个
zip警告:名称不匹配:./sample\u file\u txt
错误。命令zip是在
~SomeFolder/sample\u project
中运行的,与
command\u pushd
运行的.py文件相同。您是否尝试过
cwd=/home/where/SomeFolder/sample\u project
。我想我得把小路弄得乱七八糟。