Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

เช่นเดียวกับภาษาโปรแกรมอื่นๆ Python ทำงานได้ดีกับข้อมูล JavaScript Object Notation (JSON) มันสามารถดึงข้อมูลนี้มาจากบางแหล่งและทำงานกับมันเหมือนกับไฟล์อื่นๆ สิ่งนี้มีประโยชน์เมื่อคุณต้องการพิมพ์ไฟล์ JSON ใน Python

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

การพิมพ์ที่สวยงามคืออะไร (และทำไมคุณถึงต้องการใช้กับไฟล์ JSON)

กล่าวโดยย่อ การพิมพ์ที่สวยงามจะนำข้อมูลในรูปแบบดิบและเปลี่ยนเป็นข้อมูลที่อ่านได้ พูดอีกอย่างก็คือทำให้สวย

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

ภายใต้สถานการณ์ปกติ คุณจะทำเช่นนี้กับไฟล์ที่ดึงเข้ามาในโปรแกรมของคุณซึ่งจำเป็นต้องแยกวิเคราะห์โดยมนุษย์ บ่อยครั้ง ข้อมูลจากรูปแบบไฟล์อื่น (เช่น ไฟล์ JSON) จะถูก "ย่อขนาด" สิ่งนี้จะขจัดพื้นที่สีขาวทั้งหมดออกจากโค้ดเพื่อให้คอมพิวเตอร์แยกวิเคราะห์ได้ง่ายขึ้น

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

วิธีการพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

ด้านล่างนี้เราจะแสดงวิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม สำหรับตัวอย่างของเรา เราใช้ NeoVim และ :term . ในตัว สั่งการ. อย่างไรก็ตาม ไม่มีเหตุผลใดที่คุณไม่สามารถทำสิ่งนี้ได้โดยตรงจากเทอร์มินัลในล่าม Python

1. กำหนดไฟล์ JSON ของคุณ

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

ในกรณีของเรา เรามีดัมพ์ของข้อมูล JSON ที่ไม่มีการจัดรูปแบบเป็นศูนย์

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

ไฟล์นี้ – address.json – สามารถนำเข้า Python และจัดรูปแบบได้ เพื่อที่จะทำงานกับไฟล์ JSON ใน Python คุณต้องนำเข้าโมดูล json จากนั้นคุณสามารถกำหนดไฟล์เองเป็นตัวแปรได้

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

เมื่อคุณมาถึงจุดนี้ คุณสามารถเริ่มทำงานกับ “addresses.json” ได้

2. เปิดไฟล์ JSON โดยใช้ Python

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

ถัดไป คุณจะต้องเปิด "addresses.json" ทำได้โดยใช้ with open…as . ปกติ วิธีการ:

with open(json_file, 'r') as file:
…

ภายในบล็อคโค้ดนี้ คุณจะต้องเรียก json.load() บน “addresses.json” และกำหนดให้กับตัวแปร:

parsed = json.load(file)

หากคุณเรียกใช้ไฟล์นี้ตอนนี้ ไฟล์จะดำเนินการ แต่คุณจะไม่เห็นผลลัพธ์ใดๆ ในเทอร์มินัล สำหรับสิ่งนี้ คุณจะต้องไปยังขั้นตอนที่ 3

3. สวย พิมพ์ไฟล์ JSON ของคุณ (และปรับการตั้งค่า)

สิ่งสุดท้ายในการพิมพ์ไฟล์ JSON ของคุณให้สวยงามคือการพิมพ์เอง เมื่อต้องการทำสิ่งนี้ ให้เพิ่มสิ่งต่อไปนี้เป็นบรรทัดเยื้องของ with open…as บล็อคโค้ด:

print(json.dumps(parsed, indent=4, sort_keys=True))

หากต้องการแยกย่อย print เรียกใช้ฟังก์ชัน json.dumps() . ใช้อาร์กิวเมนต์สามข้อ:

  • ชื่อไฟล์ที่คุณต้องการพิมพ์ให้สวยงาม
  • ขนาดของเยื้อง
  • ควรจัดเรียงไฟล์ JSON ตามคีย์หรือไม่

เมื่อคุณพร้อมแล้ว ให้บันทึกการเปลี่ยนแปลง จากนั้นเปิดหน้าต่างเทอร์มินัลใหม่ คุณจะต้องไปที่โฟลเดอร์โครงการที่ถูกต้อง และเรียกใช้โปรแกรมที่นี่

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

เอาต์พุต Terminal จะใช้การตั้งค่าของคุณและพิมพ์ไฟล์ JSON ได้อย่างสวยงาม

วิธีพิมพ์ไฟล์ JSON ใน Python ให้สวยงาม

แน่นอน คุณมักจะเก็บ JSON ที่สวยงามไว้ที่อื่นแทนที่จะพิมพ์ข้อมูลไปยังเทอร์มินัล ถึงกระนั้น ก็ยังมีข้อมูลโค้ดบรรทัดเดียวที่คุณสามารถใช้เพื่อพิมพ์ไฟล์ JSON จากบรรทัดคำสั่ง

วิธีการพิมพ์ไฟล์ JSON ใน Python จาก Command Line ให้สวยงาม

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

cat addresses.json | python3 -m json.tool

ในตัวอย่างนี้ คุณจะต้องเปลี่ยน "addresses.json" เป็นชื่อไฟล์ของคุณเอง เมื่อคุณเรียกใช้สิ่งนี้ คุณจะเห็นเอาต์พุตที่จัดรูปแบบการแสดงผลของ Terminal

นี่เป็นโซลูชันที่ยอดเยี่ยมและไม่มีโค้ดสำหรับการพิมพ์ไฟล์ JSON ใน Python ได้ทันทีและใช้เวลาเพียงไม่กี่วินาทีในการทำงาน

บทสรุป

มีประโยชน์หลายประการสำหรับการพิมพ์ไฟล์ JSON ใน Python บ่อยครั้ง คุณจะต้องทำให้ข้อมูลที่ย่อเล็กสุดสามารถอ่านได้ บางทีเพื่อส่งออกไปยังผู้ใช้รายอื่น โดยไม่คำนึงถึงเหตุผลของคุณ Python ให้คุณทำสิ่งนี้ได้โดยใช้โมดูล json และบล็อกโค้ด "พร้อม open…as"

หากคุณสนใจว่า Python สามารถทำอะไรให้คุณได้อีก โปรดดูบทความอื่นๆ เกี่ยวกับ Python looping และฟังก์ชัน range() วิธีนี้จะช่วยคุณในการทำงานประจำวันของคุณหรือไม่ และถ้าเป็นเช่นนั้น อย่างไร? แจ้งให้เราทราบในส่วนความคิดเห็นด้านล่าง!