比较批处理与python命令?

时间:2010-12-11 18:30:44

标签: python syntax batch-file equivalent

好的,我已批量使用这些命令了,我想知道python中有类似影响的命令,只是为了清楚我不想只使用 os.system(“command here”)< / strong>对于他们每个人。例如,如果你想要一个命令列表,你可以输入 help ,但是在python中你可以输入 help()然后输入 modules ..我不是想在python脚本中使用批处理,我只是想知道两种语言中的相似之处。就像在英语中你说“你好”但在法语中你说“Bonjour”不会混合两种语言。 (下面是命令/函数列表id想知道:

  1. 更改当前目录
  2. 清除控制台中的屏幕
  3. 将提示更改为&gt;&gt;&gt;&gt;
  4. 以外的其他内容
  5. 如何制作循环功能
  6. 重定向/管
  7. 从脚本中启动一个外部程序(如记事本或绘画)
  8. 如何调用或导入另一个python脚本
  9. 如何获取特定模块的帮助,而无需键入 help()
  10. @ 8 :(批量处理是命令/?

    完全编辑

    感谢Adnvance!

5 个答案:

答案 0 :(得分:2)

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

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


  1. os.chdir

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

  3. 更改sys.ps1sys.ps2

  4. 不,Python中没有任何东西。请改用forwhile循环。

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

  6. subprocess.Popen

  7. 没有意义,请改用importsubprocess.Popen

  8. help

答案 1 :(得分:2)

您提到的大部分内容(startcls等)都不是“批处理命令”,它们是执行某些任务的可执行程序。 DOS“shell”只是在文件中遇到它们时才执行它们。从这个意义上讲,“python”相当于单个可执行文件(如cls)。

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

您应该通过tutorial而不是尝试将批commands映射到Python。

答案 2 :(得分:1)

答案 3 :(得分:1)

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

如果您想将.bat与任何内容进行比较,请将其与shbash进行比较。 (您也可以在各种平台上使用它们 - 例如,Windows的sh在MinGW包中。)

答案 4 :(得分:0)

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

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