Chciałbym użyć zmiennej liczby argumentów w zadaniu dla pyinvoke. tak:Jak używać zmiennej liczby argumentów w pyinvoke
from invoke import task
@task(help={'out_file:': 'Name of the output file.',
'in_files': 'List of the input files.'})
def pdf_combine(out_file, *in_files):
print("out = %s" % out_file)
print("in = %s" % list(in_files))
Powyższe jest tylko jedna z wielu odmian starałem się, ale wydaje pyinvoke nie obsługuje zmienną liczbę argumentów. Czy to prawda?
Powyższe wyniki kodowe w
$ invoke pdf_combine -o binder.pdf -i test.pdf test1.pdf
No idea what '-i' is!
Podobnie, jeśli zdefiniować pdf_combine (plik_wyjściowy, in_file), bez gwiazdką przed in_file
$ invoke pdf_combine -o binder.pdf -i test.pdf test1.pdf
No idea what 'test1.pdf' is!
Gdybym wywołać zadanie z tylko jednym in_file jak poniżej działa poprawnie.
$ invoke pdf_combine -o binder.pdf -i test.pdf
out = binder.pdf
in = ['t', 'e', 's', 't', '.', 'p', 'd', 'f']
Co chciałbym zobaczyć to
$ invoke pdf_combine -o binder.pdf test.pdf test1.pdf test2.pdf
out = binder.pdf
in = [test.pdf test1.pdf test2.pdf]
nie mogę znaleźć czegoś takiego w dokumentacji pyinvoke, choć nie mogę sobie wyobrazić, że inni użytkownicy tej biblioteki nie mają potrzebę wywołanie zadanie ze zmienną liczbą argumentów ...
Czy pojawia się błąd? Jeśli tak, proszę uwzględnić ślad zwrotny w swoim pytaniu. – Forge
Dzięki, bez śledzenia, pytanie dotyczy raczej korzystania z biblioteki pyinvoke. Poprawiłem moje pytanie kilkoma przykładami, które można wyjaśnić. – Killwas