使用Python显示文件报告

时间:2015-12-04 11:33:04

标签: python subprocess output

关于在这里使用Python的一般可能性的问题,我对编程知之甚少并不知道它是否可行,如果是,我该怎么做呢。

我有一个程序,它是一个简单的桌面程序,可以将文件加载到。然后程序可以输出文件中的东西的各种属性,并根据您的要求它将输出报告。它以文本格式输出报告,但不作为文件输出,实际上,只是在程序本身中显示报告。像这样:

Output

我的问题是,如果我想获取大量文件的此文本输出,我当前手动将文件单独加载到制作报告的程序中,将其复制到文本文件,并保存文本文件。

基本上我想知道让Python为我做这件事是否非常困难。如果它是可行的,我可以获得有关如何完成的资源吗?是否有能够从Python命令框运行我的程序和各种命令的条件?

希望我的问题足够明确。对不起,如果它有点乱码。

2 个答案:

答案 0 :(得分:4)

这里棘手的部分是

  

然后,程序可以输出文件中各种属性,并根据您的要求输出报告。

基本上,如果您使用的桌面应用程序具有命令行界面,则可以并且相对容易。 如果此程序具有命令行选项以打开文档并以任何格式输出报告(在标准输出上打印报告,将其写入磁盘上的文件等),则可以从脚本python中调用该命令。您在列表中设置的每个文件。

如果您的软件没有CLI(命令行界面),则可能会更加困难。在这种情况下,您必须使用一个库来自动化操作,该库将模拟您软件的窗口上的点击(1.单击打开2.单击,单击,单击以选择要加载的文件3.单击按钮生成报告等。)这很痛苦,但可以考虑。

你会发现很多资源可以自己学习如何编写python脚本代码。您可能需要了解列表,循环,文件操作以及subprocess库,它将允许您从python脚本中调用任何命令。

我建议你从Python3开始,而不是Python2,因为如果你的输入文件或软件的报告中有非ascii字符,它对unicode有更好的支持,很快就会成为一个问题。

祝你好运;)

答案 1 :(得分:0)

如果您能获得报告的唯一方法是从程序GUI中选择并复制/粘贴它,那么情况就是为AutoIt而不是Python。 使用Python会更加困难。除非你想改进你的python知识或课程......

模拟按键,可以在程序中打开特定文件(通过发送ctrl + o或alt和导航文件菜单)。模拟鼠标或按键 - 开始生成报告。然后在文本区域中模拟鼠标单击,并执行以下操作: (只是脚本的骨架,可能需要根据您的情况和需求进行修改)

send("^{a}^{c}") ; to select all and copy (if these keys are supported in this program
$text = ClipGet() ; get contents of clipboard
$fout = FileOpen("somefile.txt",2)
FileWrite($fout,$text)
FileClose($fout)

要完全自动化任务,可以在脚本中获取特定文件夹中的源文件列表,并为每个文件运行此宏,自动命名生成的txt文件。