通过Python脚本通过命令行打开TOPCAT

2024-10-01 13:43:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将TOPCAT程序(它具有非常惊人的绘图功能)合并到我编写的python脚本中。问题是,当我给程序打电话时,它会告诉我:

OSError: [Errno 2] No such file or directory

以下是问题的一些背景:

1)我通常通过命令行打开topcat的方式是通过我创建的别名:

^{pr2}$

2)如果我想打开TOPCAT并记住一个文件(让我们使用一个csv文件,因为这是我希望它使用的),我会在命令行中键入以下内容:

topcat -f csv /home/username/path_to_csv_file/file.csv

这也很管用。当我在python脚本中尝试调用这些命令时,问题就出现了。我都试过了subprocess.call以及操作系统,而且他们似乎不知道topcat别名的存在。即使是打个简单的电话,比如:

import subprocess
subprocess.call(['topcat']) 

不起作用。。。但是,如果我运行以下命令,我可以让topcat打开:

import subprocess
subprocess.call(['java','-jar','/home/username/topcat/topcat-full.jar'])

问题是它只是打开程序,不允许我告诉它要接受哪个文件以及它是什么类型。在

有人能告诉我我在这里做什么不对吗?我还研究了shell=True选项,它似乎没有做得更好。在


Tags: 文件csv命令行import命令程序脚本home
2条回答

如果有人遇到这种情况,皮斯蒂尔可能会感兴趣。在

https://github.com/njcuk9999/pystilts

编辑:它是Topcat/stills的原生Python包装器。在

好吧-所以我真的很兴奋能找到答案。以前起作用的是:

import subprocess
subprocess.call(['java','-jar','/home/username/topcat/topcat-full.jar'])

事实证明,它可以使用更多的命令行参数。这就是最终通过命令行用正确的逗号分隔文件打开它的原因:

^{pr2}$

希望这是足够的信息,以帮助其他人遇到这个具体的任务。在

相关问题 更多 >