1

好的,我批量使用了这些命令,我​​想知道 python 中会产生类似影响的命令,只是为了清楚我不想只对它们中的每一个使用os.system("command here")。例如,如果你想要一个命令列表,你会输入帮助,但在 python 中,你会输入help(),然后是modules ...我不想在 python 脚本中使用批处理,我只是想知道两者的相似之处语言。就像在英语中你说“你好”但在法语中你说“Bonjour”而不是混合两种语言。(这里是 ID 想知道的命令/函数列表:

  1. 改变当前目录
  2. 清除控制台中的屏幕
  3. 将提示更改为>>>以外的其他内容
  4. 如何制作循环功能
  5. 重定向/管道
  6. 从脚本中启动外部程序(如记事本或绘画)
  7. 如何调用或导入另一个 python 脚本
  8. 如何在不输入help()的情况下获得特定模块的帮助

@8:(批量将是命令 /?

完全编辑

提前感谢!

4

5 回答 5

2

您提到的大多数东西(startcls)都不是“批处理命令”,它们是执行某些任务的可执行程序。DOS“shell”在文件中遇到它们时简单地执行它们。从这个意义上说,“python”相当于单个可执行文件(如cls)。

现在很清楚了,cd(以及大多数其他操作系统特定的任务)都是使用os 模块完成的。没有一条 Python 语句可以清除屏幕——那会很浪费。更改 python 解释器的提示可以通过分配给sys.ps1. 循环使用whileor完成for。不会发生重定向。但是,您可以使用该subprocess模块来运行子命令并将其输出发送到文件或其他流。使用该subprocess.Popen功能完成启动命令。要获得帮助,您可以这样做,help("command")或者如果您正在使用ipython,只需说出command?并按 Enter。

您应该真正阅读本教程,而不是尝试将批处理映射commands到 Python。

于 2010-12-11T18:41:20.950 回答
2

您不能只是机械地将批处理脚本翻译成 Python 并希望它能正常工作。这是一种不同的语言,有不同的习语和做事方式,更不用说不同的目的了。

我在下面列出了一些与您想要的功能相关的功能,但没有什么可以替代只是去学习 Python!


  1. os.chdir

  2. os.system("cls")可能是最简单的解决方案

  3. 改变sys.ps1sys.ps2

  4. 不,Python 中没有 goto。改用forandwhile循环。

  5. 没有意义,改用 Python 的 IO。

  6. subprocess.Popen

  7. 没有意义,使用importsubprocess.Popen代替。

  8. help

于 2010-12-11T18:36:41.037 回答
1

Python 文档非常好,是开始的地方。对于类似 shell-script 的操作,您需要查看:

于 2010-12-11T18:34:17.223 回答
1

Python 不是系统外壳,Python 是一种多范式编程语言。

如果您想.bat与任何事物进行比较,请将其与shor进行比较bash。(您也可以在各种平台上拥有这些 - 例如,sh对于 windows 是在 MinGW 包中)。

于 2010-12-11T18:52:30.293 回答
0

我几乎和你一样面临同样的问题,daniel11。作为解决方案,我正在学习 BATCH 命令及其含义。在我理解了这些之后,我将用 Python 编写一个执行相同或完成相同任务的程序。

感谢 Adam V. 和 katrielatex 的见解和建议。

于 2013-07-01T20:19:02.080 回答