ไลบรารี Click
สร้าง CLI ด้วยดีคอเรเตอร์
ไลบรารี Click เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
Click คืออะไร
Click เป็นไลบรารีภายนอกยอดนิยมสำหรับสร้างอินเทอร์เฟซบรรทัดคำสั่งโดยใช้ ตัวตกแต่ง ไลบรารีนี้จัดการการแยกวิเคราะห์ ข้อความช่วยเหลือ คำถามโต้ตอบ และสีได้ด้วยโค้ดเพียงเล็กน้อย ติดตั้งด้วย pip install click
import click
@click.command()
def hello():
click.echo('Hello from Click')
# hello() would run when called as a scriptclick.echo
ใช้ click.echo() แทน print โดยจะจัดการปัญหาการเข้ารหัส และทำงานร่วมกับฟีเจอร์สีและการเปลี่ยนเส้นทางของ Click ได้อย่างราบรื่น
import click
@click.command()
def greet():
click.echo('Welcome!')
อาร์กิวเมนต์
ตัวตกแต่ง @click.argument ประกาศอาร์กิวเมนต์ตามตำแหน่งที่จำเป็น ซึ่ง Click จะส่งให้ฟังก์ชันของคุณเป็นพารามิเตอร์
import click
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello ' + name)
ตัวเลือก
@click.option ใช้กำหนดแฟล็กเสริม โปรดระบุค่าเริ่มต้น แล้ว Click จะสร้างข้อความช่วยเหลือและจัดการชนิดข้อมูลให้โดยอัตโนมัติ
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
for _ in range(count):
click.echo('Hi')
ตัวเลือกที่มีชนิดข้อมูล
Click อนุมานชนิดข้อมูลจากค่าเริ่มต้น หรือคุณจะกำหนดโดยตรงด้วย type=int ก็ได้ ข้อมูลนำเข้าที่ไม่ถูกต้องจะแสดงข้อผิดพลาดที่เข้าใจได้ง่าย
import click
@click.command()
@click.option('--age', type=int, default=0)
def show(age):
click.echo('Age is ' + str(age))
แฟล็กค่าบูลีน
ตัวเลือกที่มี is_flag=True จะกลายเป็นสวิตช์ที่มีค่าเป็น True เมื่อมีการระบุ เช่น --verbose
import click
@click.command()
@click.option('--shout', is_flag=True)
@click.argument('text')
def say(shout, text):
click.echo(text.upper() if shout else text)
คำถามโต้ตอบ
ตั้งค่า prompt=True แล้ว Click จะถามผู้ใช้แบบโต้ตอบ หากไม่ได้ระบุตัวเลือกในบรรทัดคำสั่ง
import click
@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
click.echo('Hello ' + name)
กลุ่มคำสั่ง
@click.group สร้างคำสั่งหลักที่เก็บคำสั่งย่อย ซึ่งเทียบเท่ากับตัวแยกวิเคราะห์คำสั่งย่อยของ argparse คำสั่งย่อยจะเชื่อมเข้าด้วยกันด้วย @cli.command()
import click
@click.group()
def cli():
pass
@cli.command()
def start():
click.echo('starting')
@cli.command()
def stop():
click.echo('stopping')
ผลลัพธ์ที่มีสี
click.style ครอบข้อความด้วยสีและรูปแบบ ส่วน click.secho รวมการแสดงผลและการจัดรูปแบบไว้ในการเรียกใช้ครั้งเดียว
import click
@click.command()
def status():
click.secho('OK', fg='green', bold=True)
click.secho('Error', fg='red')
การยืนยันและการจบการทำงาน
click.confirm ถามคำถามแบบใช่หรือไม่ใช่ และการส่งข้อผิดพลาด click.Abort หรือการคืนค่าจะจบคำสั่งอย่างเรียบร้อย
import click
@click.command()
def delete():
if click.confirm('Are you sure?'):
click.echo('deleted')
else:
click.echo('cancelled')
argparse เทียบกับ Click
argparse มีมาให้ในตัวและเหมาะสำหรับเครื่องมือง่าย ๆ ส่วน Click เป็นส่วนพึ่งพาภายนอก แต่มีรูปแบบตัวตกแต่งที่สะอาดกว่า กลุ่มคำสั่งซ้อนกันได้ คำถามโต้ตอบ และสีที่พร้อมใช้สำหรับ CLI ขนาดใหญ่
import click
@click.command()
@click.argument('items', nargs=-1)
def show(items):
for item in items:
click.echo(item)
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจเกี่ยวกับ Click
ทบทวน
คุณได้เรียนรู้เกี่ยวกับ ไลบรารี Click:
- ตัวตกแต่ง
@click.command,@click.argument,@click.optionใช้กำหนด CLI click.echoและclick.sechoใช้แสดงผล โดยเลือกใส่สีได้@click.groupใช้สร้างคำสั่งย่อยแบบซ้อนกัน และมีคำถามโต้ตอบกับการยืนยันให้ในตัว- เป็นส่วนพึ่งพาภายนอกที่ติดตั้งผ่าน pip
ถัดไป: การจัดรูปแบบผลลัพธ์ในเทอร์มินัลด้วย rich
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 76
- บทเรียน
- 320
คำถามที่พบบ่อย
บทเรียน “ไลบรารี Click” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ไลบรารี Click” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ไลบรารี Click”
สร้าง CLI ด้วยดีคอเรเตอร์ คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ไลบรารี Click” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ