我正在编写一个python gtk3应用程序,并希望使用文件列表作为可选参数之一。以下是它的工作原理的简单示例:
import gi
import sys
gi.require_version('Gtk', '3.0')
from gi.repository import GLib, Gio, Gtk
class Application(Gtk.Application):
"""Pure testing application without window and loop"""
def __init__(self, *args, **kwargs):
super().__init__(application_id="org.example.myapp", flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE)
self.add_main_option("test", ord("t"), GLib.OptionFlags.NONE, GLib.OptionArg.STRING_ARRAY, "Test file list", None)
def do_command_line(self, command_line):
options = command_line.get_options_dict()
if options.contains("test"):
print(options.lookup_value("test"))
return 0
if __name__ == "__main__":
app = Application()
app.run(sys.argv)
如果使用python3 testapp.py -t file1.txt file2.txt file3.txt
运行此文件,则只会缓存第一个文件名。它可以根据需要使用python3 testapp.py -t file1.txt -t file2.txt -t file3.txt
,但它不适合我。
有人可以建议将文件列表作为可选参数发送的正确方法吗?