在Python中,你可以使用os
模块来执行shell命令,包括cd
命令
import os
def change_directory(path):
try:
os.chdir(path)
print(f"成功切换到目录: {os.getcwd()}")
except FileNotFoundError:
print(f"错误: 目录 {path} 不存在")
except PermissionError:
print(f"错误: 没有权限切换到目录 {path}")
# 使用示例
change_directory("/path/to/your/target/directory")
请注意,这个示例中的change_directory
函数会改变当前工作目录,而不是像cd
命令那样仅在当前shell会话中改变目录。如果你需要在子进程中改变目录并执行其他命令,你可以使用subprocess
模块。例如:
import subprocess
def run_command_in_directory(path, command):
try:
os.chdir(path)
print(f"成功切换到目录: {os.getcwd()}")
result = subprocess.run(command, shell=True, check=True, text=True)
print(f"命令执行成功,输出: {result.stdout}")
except FileNotFoundError:
print(f"错误: 目录 {path} 不存在")
except PermissionError:
print(f"错误: 没有权限切换到目录 {path}")
except subprocess.CalledProcessError as e:
print(f"错误: 命令执行失败,输出: {e.stdout}")
# 使用示例
run_command_in_directory("/path/to/your/target/directory", "ls -la")
在这个示例中,run_command_in_directory
函数会先切换到指定的目录,然后在该目录中执行给定的命令。