使用 IDLE 将命令行参数传递给 Python 程序?

发布于 2024-10-15 20:24:05 字数 191 浏览 6 评论 0原文

我已经下载了一个 python 文件 xxxxxx.py ,该文件应该在命令行上运行 输入:python xxxxxx.py filename1 filename2 并且应该将这两个文件作为参数。

我想知道是否有一种方法可以使用 IDLE 来传递这些参数。除了设置 sys.argv 之外还有其他方法吗?

谢谢

I have downloaded a python file xxxxxx.py that is supposed to run on the command line by
typing: python xxxxxx.py filename1 filename2
and that should take these two files as arguments.

I was wondering if there is a way I can use IDLE to pass in these arguments. Is there a way other than setting sys.argv ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蝶舞 2024-10-22 20:24:05

这取决于 Python 文件的内容。如果它写得很好,比如:

#! /usr/bin/env python

def process(files):
   for file in files:
       # ...

if __name__ == '__main__'
    # some error checking on sys.argv
    process(sys.argv[1:])
    sys.exit(0)

那么你可以简单地导入 python 文件并运行它,比如:

 import name_of_file

 # ...
       name_of_file.process([file1, file2, file3])
 # ...

所以,这实际上取决于它是如何编写的。如果写得不好但你可以编辑它,我会重构它,以便它可以用作库;否则,我将使用 subprocess 模块来调用该程序。

It depends on the content of your Python file. If it is well-written, like:

#! /usr/bin/env python

def process(files):
   for file in files:
       # ...

if __name__ == '__main__'
    # some error checking on sys.argv
    process(sys.argv[1:])
    sys.exit(0)

Then you could simply import the python file and run it like:

 import name_of_file

 # ...
       name_of_file.process([file1, file2, file3])
 # ...

So, it really depends on how it is written. If it isn't written well but you can edit it, I would refactor it so that it can be used as a library; otherwise, I would use the subprocess module to invoke the program.

薯片软お妹 2024-10-22 20:24:05

您可以从命令行执行此操作:

idle.py -r scriptname.py 在此处放置参数

您可以尝试不同的 IDE,例如 ActivePython

或者您可以修补 IDLE:

http://bugs.python.org/issue5680

You can do this from the command line with:

idle.py -r scriptname.py put arguments here

You can try a different IDE like ActivePython

Or you can patch IDLE:

http://bugs.python.org/issue5680

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文