在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
函数会先切换到指定的目录,然后在该目录中执行给定的命令。