อาร์กิวเมนต์บรรทัดคำสั่ง Python

Xarkiwment Brrthad Kha Sang Python



Python เป็นภาษาระดับสูงที่ออกแบบมาสำหรับการทำโค้ดทั่วไป ไม่ใช่สำหรับปัญหาเฉพาะใดๆ เราสามารถใช้เพื่อวัตถุประสงค์ทั่วไป เช่น การสร้างเว็บไซต์โดยใช้ python หรือการวิเคราะห์ข้อมูลโดยใช้ภาษาไพ ธ อนนี้ การเขียนโปรแกรม “Python” ยังมีอาร์กิวเมนต์ command_line อาร์กิวเมนต์บรรทัดคำสั่งคืออาร์กิวเมนต์ที่เราให้ไว้บนคอนโซลหรือเทอร์มินัลของระบบปฏิบัติการใดๆ หลังจากกล่าวถึงชื่อไฟล์โค้ดพร้อมกับนามสกุลไฟล์ นอกจากนี้เรายังสามารถกำหนดเป็น ในโปรแกรมใดๆ ค่าที่ส่งผ่านพรอมต์คำสั่งซึ่งเรียกว่าอาร์กิวเมนต์บรรทัดคำสั่ง ในคู่มือนี้ เราจะพูดถึงอาร์กิวเมนต์บรรทัดคำสั่งในการเขียนโปรแกรม 'Python'

วิธีการสำหรับอาร์กิวเมนต์บรรทัดคำสั่งใน Python

เราจะอธิบายวิธีการทั้งหมดโดยละเอียดในคู่มือนี้ และแสดงการสาธิตเชิงปฏิบัติของวิธีการทั้งหมดเหล่านั้นด้วย







ตัวอย่าง # 01: โดยวิธี sys.argv

เรากำลังทำรหัสหลามเหล่านี้ในแอพ “Spyder” เราสามารถเข้าถึงตัวแปรบรรทัดคำสั่งและฟังก์ชันต่างๆ ได้โดยการนำเข้าระบบ ดังนั้นเราจึงนำเข้า 'sys' จากนั้นเราจะประกาศและเริ่มต้นตัวแปร 'num' ด้วย 'len(sys.argv)' “argv” จะเป็นรายการของค่าสตริงที่เป็นอาร์กิวเมนต์ที่บรรทัดคำสั่งของเราจะกลายเป็น “len” หมายถึงความยาวของอาร์กิวเมนต์ที่ส่งผ่าน ดังนั้น ในตัวแปร 'num' จำนวนของค่าที่ส่งผ่านบนเทอร์มินัลเมื่อเก็บบรรทัดคำสั่ง



นอกจากนี้เรายังแสดงหมายเลขอาร์กิวเมนต์ที่ส่งผ่านโดยใช้ 'พิมพ์' ด้านล่างนี้ เราใส่ “sys.argv[0]” ลงในคำสั่งการพิมพ์ “argv” จะเก็บชื่อโปรแกรมหรือชื่อไฟล์รหัสไว้เสมอ ดังนั้น ชื่อของไฟล์ที่เราสร้างจะแสดงผลบนเทอร์มินัล หลังจากนี้ เราพิมพ์อาร์กิวเมนต์เหล่านั้นซึ่งส่งผ่านไปยังเทอร์มินัล มันจะพิมพ์ตัวเลขทั้งหมดที่เราส่งผ่านเป็นอาร์กิวเมนต์บรรทัดคำสั่งบนหน้าจอคอนโซล



ด้านล่างนี้ เราได้กำหนด for loop และประกาศตัวแปร 'a' ซึ่งมีช่วงระหว่าง '1' ถึงความยาวของ argv ซึ่งเก็บอยู่ใน 'num' พิมพ์อาร์กิวเมนต์ทั้งหมดบนคอนโซล “argv[a]” เก็บอาร์กิวเมนต์ command_line ทั้งหมด นอกจากนี้ยังแสดงบนคอนโซล ตอนนี้ เรากำลังเริ่มต้น 'ผลรวม' เพราะเราต้องการคำนวณผลรวมของค่าทั้งหมดที่เราจะส่งผ่านเมื่อดำเนินการบนเทอร์มินัล





เราใช้ลูป 'for' อีกครั้งและส่งผ่านช่วง แต่คราวนี้ เรากำลังคำนวณผลรวมของค่าทั้งหมดที่เราส่งต่อไปยังเทอร์มินัล ผลรวมนี้จะถูกเก็บไว้ในตัวแปร 'ผลรวม' จากนั้น เรายังพิมพ์ผลรวมของค่าทั้งหมดที่เราจะส่งผ่านในขณะที่ดำเนินการบนเทอร์มินัล

นำเข้า sys
หนึ่ง = เท่านั้น ( sys . argv )
พิมพ์ ( 'ข้อโต้แย้งทั้งหมดที่ส่งผ่านมาที่นี่ :' , หนึ่ง )
พิมพ์ ( ' \n ชื่อของไฟล์ Python:' , sys . argv [ 0 ] )
พิมพ์ ( ' \n ข้อโต้แย้งที่เราได้ผ่าน:' , จบ = ' ' )
สำหรับ เอ ใน แนว ( 1 , หนึ่ง ) :
พิมพ์ ( sys . argv [ เอ ] , จบ = ' ' )
ซำ = 0
สำหรับ ผม ใน แนว ( 1 , หนึ่ง ) :
รวม + = int ( sys . argv [ ผม ] )
พิมพ์ ( ' \n \n ผลรวมของอาร์กิวเมนต์ที่ผ่านไป : ' , ซำ )



ในเทอร์มินัล ก่อนอื่นเราใส่คีย์เวิร์ด 'run' จากนั้น วางชื่อไฟล์พร้อมกับนามสกุลที่เหมาะสม และส่งอาร์กิวเมนต์บรรทัดคำสั่งที่นี่ ดังนั้นจึงแสดงบรรทัดทั้งหมดตามที่เรากำหนดไว้ในโค้ดด้านบน ขั้นแรกจะแสดงความยาวของอาร์กิวเมนต์บรรทัดคำสั่ง ตามด้วยชื่อของไฟล์ หลังจากนี้จะแสดงอาร์กิวเมนต์บรรทัดคำสั่งทั้งหมดและยังแสดงผลรวมของอาร์กิวเมนต์ทั้งหมดด้วย

ตัวอย่าง # 02: โดยวิธี argparse

ตอนนี้ เรากำลังใช้เมธอด “argparse” ในตัวอย่างนี้ ก่อนอื่นเรานำเข้า 'argparse' ดังนั้นเราจะเข้าถึงตัวแปรและหน้าที่ของสิ่งนี้ เราเริ่มต้นตัวแปร 'ข้อมูล' และจัดเก็บบรรทัดที่เราจะใช้ในโค้ดของเรา หลังจากนี้ เรากำลังเริ่มต้น 'parser' และใน 'description' เราส่งตัวแปร 'data' ซึ่งเราได้เก็บข้อความที่เราต้องการแสดงและเราใส่สิ่งเหล่านี้ไว้ในตัวแปร 'my_parser' เรายังใส่ “parse.args()” ต่อท้าย

นำเข้า argparse

ข้อมูล = 'เรากำลังใช้วิธี argparse ที่นี่'

my_parser = argparse ArgumentParser ( คำอธิบาย = ข้อมูล )

my_parser parse_args ( )

ดูผลลัพธ์ด้านล่าง เมื่อเราส่ง '-h' เป็นอาร์กิวเมนต์บรรทัดคำสั่ง อันดับแรกจะแสดงข้อความที่เราจัดเก็บไว้ในตัวแปร 'data' และยังแสดง 'อาร์กิวเมนต์ทางเลือก' เนื่องจาก 'h' นี้แสดงข้อความช่วยเหลือ เมื่อเราใส่ '-o' เป็นอาร์กิวเมนต์บรรทัดคำสั่ง จะแสดงข้อความแสดงข้อผิดพลาดว่าเป็นอาร์กิวเมนต์ที่ไม่รู้จัก

ตัวอย่าง # 03: โดยวิธี getopt

นี่คือวิธีสุดท้ายที่เราใช้ในโค้ดนี้ เรากำลังนำเข้า 'sys' เช่นเดียวกับ 'getopt' ในรหัสนี้ 'getopt' นี้เป็น parser ที่เราใช้สำหรับอาร์กิวเมนต์บรรทัดคำสั่ง จากนั้นในตัวแปร 'argumentList' เราได้ส่ง 'sys.argv[1:]' เพื่อลบอาร์กิวเมนต์แรกที่เรากำลังส่งผ่านในบรรทัดคำสั่ง เราเริ่มต้น 'my_option' ด้วย 'hmo:'

หลังจากนี้ เรากำลังเริ่มต้นตัวแปร “my_long_option” เราใช้ 'ลอง' ที่นี่ซึ่งจะตรวจสอบข้อผิดพลาด หลังจากนี้ เรากำลังแยกวิเคราะห์อาร์กิวเมนต์ 'getopt' มีทั้งตัวเลือกแบบสั้นและแบบยาว พร้อมด้วยตัวเลือกในการกำหนดค่า หลังจากนี้ เรากำลังตรวจสอบอาร์กิวเมนต์ทั้งหมดที่เราจะส่งผ่านเป็นอาร์กิวเมนต์บรรทัดคำสั่ง หากอาร์กิวเมนต์บรรทัดคำสั่งคือ '-h' หรือ '–Help' จะพิมพ์ข้อความที่ให้ไว้ด้านล่าง หากอาร์กิวเมนต์บรรทัดคำสั่งคือ '-m' หรือ '—My_file' จะแสดงข้อความที่เขียนหลังจากนี้

นอกจากนี้ หากอาร์กิวเมนต์บรรทัดคำสั่งคือ '-o' หรือ '–Output' ก็จะแสดงข้อความที่เราได้เขียนไว้ที่นี่หลังจากนี้ด้วย หากอาร์กิวเมนต์บรรทัดคำสั่งไม่ได้มาจากทั้งหมดข้างต้น จะแสดงข้อความแสดงข้อผิดพลาดเมื่อเราวาง 'getopt.js' ข้อผิดพลาด” ในรหัส

นำเข้า ราดหน้า , sys
ข้อโต้แย้งรายการ = sys . argv [ 1 : ]
my_options = 'กลางคืน:'
new_long_options = [ 'ช่วย' , 'มาย_ไฟล์' , 'เอาท์พุท='
ลอง :
ข้อโต้แย้ง , ค่า = ราดหน้า . ราดหน้า ( ข้อโต้แย้งรายการ , my_options , new_long_options )
สำหรับ my_Argument , my_Value ใน อาร์กิวเมนต์:
ถ้า my_Argument ใน ( '-ชม' , '--ช่วย' ) :
พิมพ์ ( “การแสดงความช่วยเหลือ” )
เอลฟ์ my_Argument ใน ( '-ม' , '--My_file' ) :
พิมพ์ ( 'กำลังแสดง file_name:' , sys . argv [ 0 ] )
เอลฟ์ my_Argument ใน ( '-โอ' , '--เอาท์พุท' ) :
พิมพ์ ( ( 'การเปิดใช้งานโหมดเอาต์พุตพิเศษ (% s)' ) % ( my_Value ) )
ยกเว้น ราดหน้า . ข้อผิดพลาด เช่น ผิดพลาด:
พิมพ์ ( str ( ผิดพลาด ) )

ที่นี่คุณจะเห็นว่าเมื่อเราใส่ '-h' เป็นบรรทัดคำสั่ง จะแสดงข้อความเดียวกันกับที่เราได้เขียนไว้ในโค้ด เมื่อเราใส่อาร์กิวเมนต์บรรทัดคำสั่งสองรายการเป็น “–Help” และ “-m” จะแสดงข้อความสองข้อความด้านล่าง ในอาร์กิวเมนต์บรรทัดคำสั่ง '-o' เราได้ส่งสตริงที่แสดงในข้อความด้วย

บทสรุป

เราได้จัดทำคู่มือนี้เพื่อช่วยให้คุณเรียนรู้แนวคิดของ 'อาร์กิวเมนต์บรรทัดคำสั่ง' ใน 'Python' เราได้สำรวจ 'อาร์กิวเมนต์บรรทัดคำสั่ง' และอธิบายวิธีการสามวิธีที่นี่ เราได้อธิบายอาร์กิวเมนต์บรรทัดคำสั่งว่ากระบวนการส่งผ่านค่าไปยังโปรแกรมพร้อมกับชื่อโปรแกรมตามเวลาที่ดำเนินการผ่านพรอมต์คำสั่ง