Mam następujący kod Pythona:Python, jak obsługiwać dzielenie, gdy nie występuje ogranicznik?
def split_arg(argv):
buildDescriptor = argv[1]
buildfile, target = buildDescriptor.split("#")
return buildfile, target
spodziewa ciąg (argv[1]
) formularza buildfile#target
i dzieli je na dwie zmienne o tej samej nazwie. Tak więc ciąg taki jak "mój-buildfile # some-target" zostanie rozbity na my-buildfile i jakiś cel docelowy odpowiednio.
Czasami jednak nie będzie "#" i celu; czasami będziesz miał po prostu "mój-buildfile", w takim przypadku chcę tylko targetu na "" (pusty).
Jak zmodyfikować tę funkcję, aby obsłużyć instancje, w których "#" nie istnieje i zwraca plik kompilacji z pustym celem?
Obecnie, jeśli mijam tylko buildfile, zgłasza błąd:
buildfile, target = buildDescriptor.split("#")
ValueError: need more than 1 value to unpack
Dzięki z góry!
Używaj pisanie kaczką, próbuj robić, co chcesz i łapać wyjątki. –
Dzięki za sugestię, ale co to jest kaczka? – IAmYourFaja
pisanie na kaczce jest jedną z technik programowania najbardziej pasujących do programów w języku Python, wystarczy google dla "pisania kaczek Pythona". –