Ik'ben mezelf momenteel Python aan het leren en vroeg me af (In verwijzing naar mijn voorbeeld hieronder) in vereenvoudigde termen wat de sys.argv[1]
voorstelt. Is het gewoon vragen om een invoer?
#!/usr/bin/python3.1
# import modules used here -- sys is a very standard one
import sys
# Gather our code in a main() function
def main():
print ('Hello there', sys.argv[1])
# Command line args are in sys.argv[1], sys.argv[2] ..
# sys.argv[0] is the script name itself and can be ignored
# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()
sys.argv bevat de eerste opdrachtregel argument die aan uw script is doorgegeven.
Bijvoorbeeld, als je script hello.py
heet en je geeft:
$ python3.1 hello.py foo
of:
$ chmod +x hello.py # make script executable
$ ./hello.py foo
Uw script zal afdrukken:
Hallo daar foo
Gewoon een aanvulling op Frederic's antwoord, bijvoorbeeld als je je script als volgt aanroept:
./myscript.py foo bar
sys.argv[0]
zou zijn "./myscript.py"
sys.argv[1]
zou zijn "foo" en
sys.argv[2]
zou zijn "bar" ... en zo verder.
In uw voorbeeldcode, als u het script als volgt aanroept ./myscript.py foo
, zal de uitvoer van het script'zijn "Hello there foo".