ข้ามไปเนื้อหา

คู่มือการใช้ไพวิกิพีเดีย/พื้นฐานการใช้งานสคริปต์

จาก วิกิตำรา
« คู่มือการใช้ไพวิกิพีเดีย
พื้นฐานการใช้งานสคริปต์
»
วิธีติดตั้งขั้นสูง ใช้งาน replace.py


ตัวอย่างการใช้สคริปต์ pagefromfile.py (คลิกเพื่อขยาย)

สมมุติตอนนี้เราเปิด terminal และอยู่ที่ directory pywikipedia แล้ว เราสามารถสั่งคำสั่งต่าง ๆ ที่มีอยู่แล้ว (หรือที่เรียกว่าสคริปต์) ได้ด้วยคำสั่ง

python _ชื่อสคริปต์_ [_พารามิเตอร์ต่าง ๆ (ถ้ามี)_]

(ถ้าใช้ระบบปฏิบัติการ Windows ไม่ต้องพิมพ์คำว่า python)

เช่น สคริปต์ชื่อ replace.py สามารถทำการค้นหาและแทนที่คำได้ เราก็จะสั่ง python replace.py

.
.
.

แต่เดี๋ยวก่อน แล้วจะค้นหาคำว่าอะไร แล้วจะแทนที่ด้วยคำว่าอะไร แล้วจะดำเนินการกับหน้าไหนบ้าง! เรายังไม่ได้บอกสคริปต์เลย เพราะฉะนั้นจึงมีสิ่งที่เรียกว่า "พารามิเตอร์" ขึ้นมาเพื่อให้เราระบุข้อมูลให้ตัวสคริปต์รับทราบถึงสิ่งที่เราต้องการ เช่น

  • -cat:catname แปลว่าให้ดำเนินการกับทุก ๆ หน้าที่อยู่ใน หมวดหมู่:catname
  • อัญประกาศอันแรกคือข้อความที่ต้องการค้นหา
  • อัญประกาศอันที่สองคือข้อความที่จะแทนที่


ดังนั้น สมมุติต้องการจะเปลี่ยนคำว่า "อัลกอริทึม""ขั้นตอนวิธี" แทนในทุก ๆ หน้าที่อยู่ใน หมวดหมู่:ขั้นตอนวิธี ก็อาจจะเรียกใช้

python replace.py -cat:ขั้นตอนวิธี "อัลกอริทึม" "ขั้นตอนวิธี"

สคริปต์ทำงาน

[แก้ไข | แก้ไขต้นฉบับ]
  • replace.py เอาไว้ใช้แทนที่คำ เป็นหนึ่งในสคริปต์ที่ทรงพลังมากที่สุด เนื่องจากการการค้นหาคำมาแทนที่สามารถใช้ regular expression ได้ ทำให้มีความยืดหยุ่นมาก ๆ (ไม่รู้จัก regular expression ก็ไม่ต้องกลัว! จริง ๆ ไม่ต้องใช้ก็ได้... แต่ถ้าใช้ก็ดีนะ ^^)
  • category.py เป็นสคริปต์ที่แทบจะจัดการทุกอย่างเกี่ยวกับหมวดหมู่ได้
  • interwiki.py เป็นสคริปต์ที่โดยปกติจะสั่งให้ทำงานแล้วก็ทิ้งไว้เลย โดยตัวบอตจะทำงานจับคู่ลิงก์ข้ามภาษาไปเรื่อย ๆ ไม่มีวันสิ้นสุด (ยกเว้นระบุเงื่อนไขเพิ่มเติม)
  • login.py เราเคยเรียกใช้มันแล้วตอนติดตั้ง จำได้ไหม! สคริปต์นี้เอาไว้ login และ logout ไอดีบอต
  • pagegenerators.py ทำหน้าที่คืนค่าบทความหรือหน้าต่าง ๆ ให้กับสคริปต์ต่าง ๆ parameter ของสคริปต์นี้มักจะเป็น parameter พื้นฐานของ script ทุกตัวด้วย อย่างไรก็ตามการเรียกใช้สคริปต์นี้โดยตรงจะไม่ทำให้เกิดอะไรขึ้น
  • wikipedia.py เป็นสคริปต์พื้นฐานของ pywikipedia ข้างในมีการนิยามการอ่านหน้าและการเขียนหน้าไว้และอื่น ๆ อีกมากมาย อย่างไรก็ตามการสั่งเรียกสคริปต์นี้โดยตรงจะไม่ทำให้เกิดอะไรขึ้น