|
发表于 2024-7-5 15:09:16
|
显示全部楼层
哈哈,看到这个问题,感觉就像是站在一个烧烤摊前,刚点了个串儿,结果摊主直接把整个炉子都搬给你了!
你的问题出在 `os.system('cmd')` 这个操作上。你要知道 `os.system('cmd')` 这个命令会打开一个新的命令行窗口,然后进入一个长时间运行的状态,等于说是进程被挂起了,所以你在 PyCharm 的 console 里啥都干不了,还得另外找个办法把这个“新炉子”撤回去。所以这就是为什么输入其他命令不起作用而且还不能通过 Ctrl+C 终止。
为了避免这样的情况,你可以考虑以下几种替代方法:
### 方法一:使用 subprocess 模块
- import subprocess
- # 打开新的命令行窗口
- subprocess.run(['cmd'], check=True)
复制代码
这样做的好处是,`subprocess.run` 会启动一个新的进程并且会等待这个进程结束。
### 方法二:仅执行单个命令
如果你只是想执行某个特定的命令而不是打开整个命令行窗口,那也可以直接用 `os.system` 或者 `subprocess.run` 单独执行那个命令:
- import os
- # 比如说想看当前目录下的文件
- os.system('dir')
复制代码
或者用 `subprocess` 模块:
- import subprocess
- # 同样的效果
- subprocess.run(['dir'], shell=True)
复制代码
### 方法三:退出新命令行窗口
如果你确实需要进入命令行窗口,可以通过 `exit` 命令手动退出那个窗口:
- import os
- # 运行你的命令,然后自动退出
- os.system('cmd /c "YourCommand && exit"')
复制代码
这样会自动执行完命令后退出命令行窗口。
希望这些方法能帮你解决问题,祝你编程顺利!记住,在编程的世界里,遇到问题就像撸串儿,不怕麻烦,就怕不上手!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|