Pastikan untuk menggunakan gaya >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>9 alih-alih >>> import shutil >>> shutil.copyfile('data.db', 'archive.db') 'archive.db' >>> shutil.move('/build/executables', 'installdir') 'installdir'0. Ini akan menjaga dari membayangi shadowing fungsi bawaan yang beroperasi jauh berbeda. Show
Fungsi bawaan dan berguna sebagai alat bantu interaktif untuk bekerja dengan modul besar seperti : >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings> Untuk tugas manajemen berkas dan direktori sehari-hari, modul menyediakan antarmuka level yang lebih tinggi yang lebih mudah digunakan: >>> import shutil >>> shutil.copyfile('data.db', 'archive.db') 'archive.db' >>> shutil.move('/build/executables', 'installdir') 'installdir' 10.2. Berkas WildcardModul menyediakan fungsi untuk membuat daftar berkas dari pencarian wildcard di direktori: >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py'] 10.3. Baris Perintah BerargumenSkrip utilitas umum seringkali perlu memproses argumen baris perintah. Argumen-argumen ini disimpan dalam atribut argv dari modul sebagai daftar. Sebagai contoh, hasil keluaran berikut dari menjalankan >>> import shutil >>> shutil.copyfile('data.db', 'archive.db') 'archive.db' >>> shutil.move('/build/executables', 'installdir') 'installdir'9 di baris perintah >>> import sys >>> print(sys.argv) ['demo.py', 'one', 'two', 'three'] Modul menyediakan mekanisme yang lebih canggih untuk memproses argumen baris perintah. Script berikut mengekstrak satu atau lebih nama file dan sejumlah baris opsional untuk ditampilkan: import argparse parser = argparse.ArgumentParser(prog = 'top', description = 'Show top lines from each file') parser.add_argument('filenames', nargs='+') parser.add_argument('-l', '--lines', type=int, default=10) args = parser.parse_args() print(args) Ketika dijalankan pada baris perintah dengan >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py']1, skrip mengatur >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py']2 menjadi >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py']3 dan >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py']4 menjadi >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py']5. 10.4. Pengalihan Output Kesalahan dan Pengakhiran ProgramModul juga memiliki atribut untuk stdin, stdout, dan stderr. Yang terakhir berguna untuk mengirimkan peringatan dan pesan kesalahan untuk membuatnya terlihat bahkan ketika stdout telah dialihkan: >>> sys.stderr.write('Warning, log file not found starting a new one\n') Warning, log file not found starting a new one Cara paling langsung untuk mengakhiri skrip adalah dengan menggunakan >>> import glob >>> glob.glob('*.py') ['primes.py', 'random.py', 'quote.py']7. 10.5. Pencocokan Pola StringModul menyediakan alat ekspresi reguler untuk pemrosesan string lanjutan. Untuk pencocokan dan manipulasi yang kompleks, ekspresi reguler menawarkan solusi yang ringkas dan dioptimalkan: >>> import re >>> re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest') ['foot', 'fell', 'fastest'] >>> re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat') 'cat in the hat' Ketika hanya kemampuan sederhana yang diperlukan, metode string lebih disukai karena lebih mudah dibaca dan dilakukan debug: >>> 'tea for too'.replace('too', 'two') 'tea for two' 10.6. MatematikaModul memberikan akses ke fungsi-fungsi pustaka C yang mendasari untuk matematika angka pecahan floating point: >>> import math >>> math.cos(math.pi / 4) 0.70710678118654757 >>> math.log(1024, 2) 10.0 Modul menyediakan alat untuk membuat pilihan acak: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>0 Modul menghitung sifat statistik dasar (rata-rata, median, varian, dll.) dari data numerik: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>1 Proyek SciPy <https://scipy.org> memiliki banyak modul lain untuk perhitungan numerik. 10.7. Akses internetAda sejumlah modul untuk mengakses internet dan memproses protokol internet. Dua yang paling sederhana adalah untuk mengambil data dari URL dan untuk mengirim email: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>2 (Perhatikan bahwa contoh kedua membutuhkan server mail yang beroperasi di localhost.) 10.8. Tanggal dan WaktuModul menyediakan kelas untuk memanipulasi tanggal dan waktu dengan cara yang sederhana dan kompleks. Sementara aritmatika tanggal dan waktu didukung, fokus implementasi adalah pada ekstraksi anggota yang efisien untuk pemformatan dan manipulasi keluaran. Modul ini juga mendukung objek yang sadar zona waktu. >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>3 10.9. Kompresi DataFormat pengarsipan dan kompresi data umum didukung langsung oleh modul-modul yang ada antara lain: :mod: zlib, , , , dan . >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>4 10.10. Pengukuran KinerjaBeberapa pengguna Python mengembangkan minat yang mendalam untuk mengetahui kinerja relatif dari berbagai pendekatan untuk masalah yang sama. Python menyediakan alat pengukuran yang segera menjawab pertanyaan-pertanyaan itu. Misalnya, mungkin tergoda untuk menggunakan fitur tuple packing dan unpacking daripada pendekatan tradisional untuk bertukar argumen. Modul :mod: timeit dengan cepat menunjukkan keunggulan kinerja secara sederhana: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>5 Berbeda dengan granularity tingkat halus , modul dan menyediakan alat untuk mengidentifikasi bagian kritis waktu dalam blok kode yang lebih besar. 10.11. Kontrol kualitasSalah satu pendekatan untuk mengembangkan perangkat lunak berkualitas tinggi adalah dengan menulis tes untuk setiap fungsi yang dikembangkan dan untuk sering menjalankan tes tersebut selama proses pengembangan. Modul: mod:doctest menyediakan alat untuk memindai modul dan memvalidasi tes yang tertanam dalam dokumen program. Konstruksi pengujian sesederhana memotong dan menempel panggilan khas beserta hasilnya ke dalam docstring. Ini meningkatkan dokumentasi dengan memberikan contoh kepada pengguna dan memungkinkan modul doctest untuk memastikan kode tetap benar untuk dokumentasi: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>6 Modul tidak semudah modul , tetapi memungkinkan serangkaian tes yang lebih komprehensif untuk dipertahankan dalam file terpisah: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module's docstrings>7 10.12. Dilengkapi BateraiPython memiliki filosofi "dilengkapi baterai". Ini paling baik dilihat melalui kemampuan yang canggih dan kuat robust dengan dukungan paket-paket yang lebih besar. Sebagai contoh:
|