开发者社区> 问答> 正文

如何在Python中自动使用程序?

所以基本上我需要做的是写一个程序,它会在一个目录中查找,并将所有特定文件类型的文件加载到一个名为“Astrometrica”的程序中。然后我想让代码自动完成我在程序中要做的事情。我正在做我的科学展览项目,我将进入天文学的范畴。 ——灵活的图像传输系统。我的图像存储在这个文件类型。 ——我在看太空和某些恒星的图像。 我在Astrometrica中通常做的是将某个文件夹中所有的。fit图像加载到Astrometrica中。我通常会下载不到30张图片。 接下来我改变了在Astrometrica中所谓的配置。要更改配置,必须从文件资源管理器中选择配置文件。Astrometrica提供了一个下拉窗口来选择文件。我认为这可以通过if语句来实现,即:我将检查文件名是否有特定的字符串,如果有,我将选择匹配该文件的配置。 我继续按下一个按钮,检查我的图像与星表。这基本上是说,我只是试着找出哪个是哪个。这应该是相当容易的,因为我只需要调用程序的函数来做到这一点。 下一步是按下另一个按钮,以某种方式排列所有的图像。 最后,您按下另一个按钮,它组合了所有的图像,并保存为一个。 tldr:这个程序需要自动化很多仔细的步骤。 我不认为这将是非常具有挑战性的,因为我已经创建了一个程序,做一些非常类似的事情。以下是我到目前为止所写的,

import os
import subprocess

target_directory = 'C:/read_directory/' # change this as required make sure to leave a / at the end.
target_write_directory = 'C:/write_directory/' # also change this as needed and leave a / at the end.

def automateProcess(): #Execute the astrometrica commands.
    targetFiles = [x for x in os.listdir(target_directory)if x.lower().endswith('.fits')]
    for filename in targetFiles:
        subprocess.call([r'C:/Astrometrica.exe', os.path.abspath(filename), '-load','-', '-savefits', os.path.abspath(target_write_directory + filename[:-3]), '-exit'])

automateProcess()

root.mainloop()

我不太确定如何在Astrometrica中执行命令。正如我现在所做的,for循环(它甚至没有功能)将尝试为每个文件执行一些操作,而不是加载所有文件然后执行一些操作。 这个程序显然没有完全发挥作用。我可以提供更多的信息或屏幕录音,如果你似乎不能理解的步骤。 我面临的主要问题是如何告诉程序执行所有这些特定的过程。 感谢所有帮助:) 感谢您的阅读! 问题来源StackOverflow 地址:/questions/59385450/how-do-i-automate-the-usage-of-a-program-in-python

展开
收起
kun坤 2019-12-25 22:19:56 464 0
1 条回答
写回答
取消 提交回答
  • 先看看PackageForTheWeb提供命令行界面了不,不然你得hook窗口发消息很麻烦,直接键盘精灵吧

    2021-02-20 00:29:08
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载