目次
1. Pangunahing Paggamit ng Command Line Arguments sa Python
Ano ang command line arguments?
Kapag nagpapatakbo ng programang Python, ang karagdagang impormasyong ibinibigay kasama ng utos ng pagpapatakbo ay tinatawag na “command line arguments”. Sa pamamagitan nito, maaaring baguhin nang flexible ang pag-andar ng programa, o madaling magpasa ng data mula sa labas. Halimbawa, sa pamamagitan ng pagpapasa ng pangalan ng file o mga setting bilang mga argumento, maaaring dinamiko mong baguhin ang nilalaman ng programa.Pagkuha ng command line arguments gamit ang sys.argv
Sa Python, maaaring kunin ang command line arguments gamit ang standard library na sys
module. Ang sys.argv
ay variable na nag-iimbak ng mga command line arguments bilang listahan. Ang unang elemento ng listahan (sys.argv[0]
) ay ang pangalan ng script na pinapatakbo, at ang mga susunod na elemento ay ang mga halaga na ipinasa bilang mga argumento.Halimbawang Kodigo: Simpleng Programa ng Kalkulasyon
import sys
def main():
if len(sys.argv) < 3:
print("Error: Kailangan ng dalawang argumento")
return
num1 = float(sys.argv[1])
num2 = float(sys.argv[2])
print(f"Kabuuan: {num1 + num2}")
if __name__ == "__main__":
main()
Ang programang ito ay nagbubuod at nagpapakita ng dalawang numerong ipinasa mula sa command line. Ang halimbawa ng pagpapatakbo ay ganito:$ python script.py 3 5
Kabuuan: 8.0

2. argparse
module para sa advanced na pagproseso ng mga argumento
argparse
pangunahing
sys.argv
ay maaaring kunin ang mga pangunahing argumento, ngunit kapag dumarami ang bilang ng mga argumento o gumagamit ng mga opsyonal na argumento at flag (--verbose
at iba pa), kapaki-pakinabang ang argparse
module na bahagi ng standard library. Sa paggamit ng module na ito, madali mong mapoproseso ang mga argumento at awtomatikong makabubuo ng mga mensahe ng error.Pag-parse ng mga argumento at paggawa ng parser
argparse
upang magamit, una kang gagawa ng parser para i-parse ang mga argumento. Pagkatapos, i-set up ang mga argumento sa parser, at i-parse ang mga command-line argument.Halimbawang code: Pangunahing argparse
paggamit
import argparse
def main():
parser = argparse.ArgumentParser(description='Ito ay isang halimbawa ng programa')
parser.add_argument('arg1', help='unang argumento')
parser.add_argument('arg2', type=float, help='ikalawang numerong argumento')
args = parser.parse_args()
print(f"arg1 = {args.arg1}")
print(f"arg2 = {args.arg2}")
if __name__ == "__main__":
main()
Sa programang ito, tumatanggap ito ng dalawang argumento. Ang arg1
ay itinuturing na string, at ang arg2
ay bilang, at pagkatapos ma-parse ay ilalabas.$ python script.py test 5.5
arg1 = test
arg2 = 5.5
Pagproseso ng opsyonal na argumento at flag
Bilang isang malakas na tampok ngargparse
, may mga opsyonal na argumento at flag. Sa ganitong paraan, maaari kang magsulat ng code na tumatakbo lamang kapag ang argumento ay ibinigay, at magbigay ng detalyadong output (tulad ng flag na --verbose
).Halimbawang code: Paggamit ng opsyonal na argumento at flag
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true', help='magpakita ng detalyadong output')
parser.add_argument('numbers', nargs='+', type=float, help='listahan ng mga numero')
args = parser.parse_args()
total = sum(args.numbers)
if args.verbose:
print(f"Detalye ng kalkulasyon: {args.numbers} ang kabuuan ay {total}")
else:
print(f"Kabuuan: {total}")
if __name__ == "__main__":
main()
Sa programang ito, kapag tinukoy ang flag na --verbose
, magpapakita ito ng detalyadong output; kung hindi, magpapakita ng simpleng resulta.$ python script.py 1 2 3 --verbose
Detalye ng kalkulasyon: [1.0, 2.0, 3.0] ang kabuuan ay 6.0

3. Pagpapatakbo ng Error at Pagsusuri ng mga Argumento
Pagsusuri ng Bilang at Uri ng mga Argumento
Kapag humahawak ng mga command-line argument, mahalagang magpakita ng mensahe ng error kung hindi tama ang ibinigay ng user upang maiwasan ang maling pag-andar ng programa. Sa pamamagitan ng pagsusuri kung ang bilang at uri ng mga argument ay ayon sa inaasahan, mapapanatili ang katatagan ng programa.Halimbawang Kodigo: Pagsusuri ng Bilang at Uri ng mga Argumento
import sys
def main():
if len(sys.argv) != 3:
print("Error: Kailangan ng 2 argumento")
return
try:
num1 = float(sys.argv[1])
num2 = float(sys.argv[2])
except ValueError:
print("Error: Ang mga argumento ay dapat na numero")
return
print(f"Kabuuan: {num1 + num2}")
if __name__ == "__main__":
main()
Sa programang ito, magpapakita ng mensahe ng error kung ang bilang ng mga argumento ay hindi 3 (pangalan ng script + 2 numero), at magpapakita rin ng mensahe ng error kung ang ibinigay na argumento ay hindi numero.4. Mga Aktwal na Use Case at Pag-aaplay
Halimbawa ng Paglikha ng Command-line Tool
Bilang isang praktikal na halimbawa gamit ang command-line arguments, maaaring lumikha ng command-line tool na gumagawa ng file operations at data processing.Sample Code: Tool para bilangin ang nilalaman ng file
import argparse
def main():
parser = argparse.ArgumentParser(description='Tool para bilangin ang mga linya ng file')
parser.add_argument('filename', help='Pangalan ng file na bibilangin')
args = parser.parse_args()
try:
with open(args.filename, 'r') as file:
lines = file.readlines()
print(f"Bilang ng linya ng file {args.filename}: {len(lines)}")
except FileNotFoundError:
print(f"Error: Hindi mahanap ang file {args.filename}")
if __name__ == "__main__":
main()
Ang tool na ito ay binibilang at inilalabas ang bilang ng linya ng tinukoy na file.$ python count_lines.py example.txt
Bilang ng linya ng file example.txt: 100
5. Buod
Sa pag-aaral kung paano hawakan ang mga command-line argument sa Python, maaari mong gawing mas flexible ang iyong programa. Mula sa simpleng paraan gamit angsys.argv
, hanggang sa komplikadong pagproseso ng mga argumento gamit ang argparse
, mahalagang pumili ng tamang pamamaraan ayon sa aktwal na pangangailangan. Bukod dito, sa pamamagitan ng pagsasama ng error handling at pag-validate ng mga argumento, posible kang makagawa ng mas matibay na programa.