Bagaimana Anda mengakses data dari file dengan python?

Python memiliki beberapa modul dan fungsi bawaan untuk menangani file. Fungsi-fungsi ini tersebar di beberapa modul seperti with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 03, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 04, dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05, untuk beberapa nama. Artikel ini mengumpulkan di satu tempat banyak fungsi yang perlu Anda ketahui untuk melakukan operasi yang paling umum pada file dengan Python

Dalam tutorial ini, Anda akan mempelajari caranya

  • Ambil properti file
  • Buat direktori
  • Cocokkan pola dalam nama file
  • Lintasi pohon direktori
  • Buat file dan direktori sementara
  • Hapus file dan direktori
  • Salin, pindahkan, atau ganti nama file dan direktori
  • Buat dan ekstrak arsip ZIP dan TAR
  • Buka banyak file menggunakan modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _06

Bonus Gratis. 5 Pemikiran Tentang Python Mastery, kursus gratis untuk pengembang Python yang menunjukkan kepada Anda peta jalan dan pola pikir yang Anda perlukan untuk meningkatkan keterampilan Python Anda ke tingkat berikutnya

Pola “with open(…) as …” Python

Membaca dan menulis data ke file menggunakan Python cukup mudah. Untuk melakukan ini, Anda harus terlebih dahulu membuka file dalam mode yang sesuai. Berikut adalah contoh cara menggunakan pola “with open(…) as …” Python untuk membuka file teks dan membaca isinya

with open('data.txt', 'r') as f: data = f.read()

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 07 mengambil nama file dan mode sebagai argumennya. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _08 membuka file dalam mode hanya baca. Untuk menulis data ke file, berikan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 09 sebagai argumen

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data)

Dalam contoh di atas, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _07 membuka file untuk membaca atau menulis dan mengembalikan pegangan file (with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 11 dalam hal ini) yang menyediakan metode yang dapat digunakan untuk membaca atau menulis data ke file. Lihat Membaca dan Menulis File dengan Python dan Bekerja dengan I/O File dengan Python untuk informasi selengkapnya tentang cara membaca dan menulis ke file

Hilangkan iklan

Mendapatkan Daftar Direktori

Misalkan direktori kerja Anda saat ini memiliki subdirektori bernama with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 12 yang memiliki konten berikut

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt

Modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02 bawaan memiliki sejumlah fungsi berguna yang dapat digunakan untuk membuat daftar isi direktori dan memfilter hasilnya. Untuk mendapatkan daftar semua file dan folder di direktori tertentu di sistem file, gunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 di versi lama Python atau with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 di Python 3. x. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 adalah metode pilihan untuk digunakan jika Anda juga ingin mendapatkan properti file dan direktori seperti ukuran file dan tanggal modifikasi

Daftar Direktori dalam Versi Legacy Python

Dalam versi Python sebelum Python 3, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 adalah metode yang digunakan untuk mendapatkan daftar direktori

>>> >>> import os >>> entries = os.listdir('my_directory/') _

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 mengembalikan daftar Python yang berisi nama file dan subdirektori dalam direktori yang diberikan oleh argumen path

>>> >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _

Daftar direktori seperti itu tidak mudah dibaca. Mencetak output panggilan ke with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _14 menggunakan loop membantu membersihkan semuanya

>>> >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _

Daftar Direktori dalam Versi Python Modern

Dalam versi modern Python, alternatif untuk with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 adalah menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _15 diperkenalkan dengan Python 3. 5 dan didokumentasikan dalam PEP 471. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _15 mengembalikan iterator sebagai lawan dari daftar saat dipanggil

>>> >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> _

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 25 menunjuk ke semua entri di direktori saat ini. Anda dapat mengulang konten iterator dan mencetak nama file

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name)

Di sini, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _15 digunakan bersamaan dengan pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27 karena mendukung protokol pengelola konteks. Menggunakan manajer konteks menutup iterator dan membebaskan sumber daya yang diperoleh secara otomatis setelah iterator habis. Hasilnya adalah cetakan nama file di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 28 seperti yang Anda lihat di contoh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14

sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir

Cara lain untuk mendapatkan daftar direktori adalah dengan menggunakan modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05

from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name)

Objek yang dikembalikan oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 31 adalah objek with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 32 atau with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 33 tergantung pada OS

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _22 objek memiliki with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 35 metode untuk membuat iterator dari semua file dan folder dalam direktori. Setiap entri yang dihasilkan oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _35 berisi informasi tentang file atau direktori seperti nama dan atribut file. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05 pertama kali diperkenalkan dengan Python 3. 4 dan merupakan tambahan yang bagus untuk Python yang menyediakan antarmuka berorientasi objek ke sistem file

Dalam contoh di atas, Anda memanggil with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _22 dan memberikan argumen path ke sana. Berikutnya adalah panggilan ke with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _35 untuk mendapatkan daftar semua file dan direktori di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 12

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05 menawarkan satu set kelas yang menampilkan sebagian besar operasi umum pada jalur dengan cara yang mudah dan berorientasi objek. Menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05 lebih jika tidak sama efisiennya dengan menggunakan fungsi di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02. Manfaat lain menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05 dibandingkan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02 adalah mengurangi jumlah impor yang perlu Anda lakukan untuk memanipulasi jalur sistem file. Untuk informasi lebih lanjut, baca Modul pathlib Python 3. Menjinakkan Sistem File

Catatan. Untuk memulai with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05, lihat Python Basics. Operasi Sistem File dan latihan terkait

Menjalankan kode di atas menghasilkan yang berikut ini

sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir

Menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22 atau with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 daripada with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 adalah cara yang lebih disukai untuk mendapatkan daftar direktori, terutama saat Anda bekerja dengan kode yang memerlukan jenis file dan informasi atribut file. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22 menawarkan banyak fungsi penanganan file dan jalur yang ditemukan di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02 dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 04, dan metodenya lebih efisien daripada beberapa yang ditemukan di modul ini. Kami akan membahas cara mendapatkan properti file segera

Berikut adalah fungsi daftar direktori lagi

FunctionDescription________0______14Mengembalikan daftar semua file dan folder dalam direktoriwith open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15Mengembalikan iterator semua objek dalam direktori termasuk informasi atribut filewith open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 55Mengembalikan iterator semua objek dalam direktori termasuk informasi atribut file

Fungsi-fungsi ini mengembalikan daftar semua yang ada di direktori, termasuk subdirektori. Ini mungkin tidak selalu menjadi perilaku yang Anda inginkan. Bagian selanjutnya akan menunjukkan cara memfilter hasil dari daftar direktori

Hilangkan iklan

Daftar Semua File dalam Direktori

Bagian ini akan menunjukkan cara mencetak nama file dalam direktori menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15, dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22. Untuk memfilter direktori dan hanya mencantumkan file dari daftar direktori yang dihasilkan oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14, gunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 03

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _1

Di sini, panggilan ke with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 mengembalikan daftar semua yang ada di jalur yang ditentukan, dan kemudian daftar itu difilter oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 62 untuk hanya mencetak file dan bukan direktori. Ini menghasilkan output berikut

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _2

Cara yang lebih mudah untuk membuat daftar file dalam direktori adalah dengan menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 atau with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _3

Menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _15 memiliki keuntungan terlihat lebih bersih dan lebih mudah dipahami daripada menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14, meskipun satu baris kode lebih panjang. Memanggil with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _67 pada setiap item di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 25 mengembalikan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 69 jika objeknya adalah file. Mencetak nama semua file dalam direktori memberi Anda hasil berikut

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _2

Berikut cara daftar file dalam direktori menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 5

Di sini, Anda memanggil with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _71 pada setiap entri yang dihasilkan oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 35. Output yang dihasilkan sama

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _2

Kode di atas dapat dibuat lebih ringkas jika Anda menggabungkan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 73 loop dan pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 74 ke dalam ekspresi generator tunggal. Dan Bader memiliki artikel yang sangat bagus tentang ekspresi generator dan pemahaman daftar

Versi yang dimodifikasi terlihat seperti ini

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _7

Ini menghasilkan keluaran yang persis sama dengan contoh sebelumnya. Bagian ini menunjukkan bahwa memfilter file atau direktori menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22 terasa lebih intuitif dan terlihat lebih bersih daripada menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 bersamaan dengan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 03

Daftar Subdirektori

Untuk membuat daftar subdirektori, bukan file, gunakan salah satu metode di bawah ini. Inilah cara menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _14 dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 80

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _8

Memanipulasi jalur sistem file dengan cara ini dapat dengan cepat menjadi rumit ketika Anda memiliki banyak panggilan ke with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 81. Menjalankan ini di komputer saya menghasilkan keluaran berikut

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _9

Inilah cara menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _15

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 0

Seperti pada contoh daftar file, di sini Anda memanggil with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 83 pada setiap entri yang dikembalikan oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15. Jika entri adalah direktori, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _83 mengembalikan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 69, dan nama direktori dicetak. Outputnya sama seperti di atas

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _9

Inilah cara menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _22

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 2

Memanggil with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _83 pada setiap entri dari with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 89 iterator memeriksa apakah suatu entri adalah file atau direktori. Jika entri adalah direktori, namanya dicetak ke layar, dan output yang dihasilkan sama dengan yang ada di contoh sebelumnya

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _9

Hilangkan iklan

Mendapatkan Atribut File

Python memudahkan pengambilan atribut file seperti ukuran file dan waktu modifikasi. Ini dilakukan melalui with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 90, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15, atau with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 15 dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22 mengambil daftar direktori dengan gabungan atribut file. Ini berpotensi lebih efisien daripada menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14 untuk membuat daftar file dan kemudian mendapatkan informasi atribut file untuk setiap file

Contoh di bawah ini menunjukkan cara mengetahui waktu file di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 28 terakhir diubah. Outputnya dalam hitungan detik

>>> my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 4

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _15 mengembalikan objek with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 25. Setiap entri dalam objek with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _25 memiliki metode my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 00 yang mengambil informasi tentang file atau direktori yang dituju. my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 00 memberikan informasi seperti ukuran file dan waktu modifikasi terakhir. Pada contoh di atas, kode mencetak atribut my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 02, yaitu saat konten file terakhir diubah

Modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05 memiliki metode yang sesuai untuk mengambil informasi file yang memberikan hasil yang sama

>>> my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 5

Dalam contoh di atas, kode mengulang objek yang dikembalikan oleh with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 35 dan mengambil atribut file melalui panggilan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 00 untuk setiap file dalam daftar direktori. Atribut my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _02 mengembalikan nilai float yang mewakili. Untuk mengonversi nilai yang dikembalikan oleh my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _02 untuk tujuan tampilan, Anda dapat menulis fungsi pembantu untuk mengubah detik menjadi objek my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 08

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 6

Ini pertama-tama akan mendapatkan daftar file di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 12 dan atributnya dan kemudian memanggil my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 10 untuk mengonversi waktu modifikasi terakhir setiap file menjadi bentuk yang dapat dibaca manusia. my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 10 memanfaatkan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 12 untuk mengubah waktu dalam detik menjadi string

Argumen yang diteruskan ke my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _12 adalah sebagai berikut

  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _14. hari dalam sebulan
  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _15. bulan, dalam bentuk singkatan
  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _16. tahun

Bersama-sama, arahan ini menghasilkan keluaran yang terlihat seperti ini

>>> my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 7

Sintaks untuk mengonversi tanggal dan waktu menjadi string bisa sangat membingungkan. Untuk membaca lebih lanjut tentang itu, lihat di atasnya. Referensi berguna lainnya yang mudah diingat adalah http. // strftime. org/

Membuat Direktori

Cepat atau lambat, program yang Anda tulis harus membuat direktori untuk menyimpan data di dalamnya. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02 dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05 termasuk fungsi untuk membuat direktori. Kami akan mempertimbangkan ini

FunctionDescriptionmy_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 19Membuat satu subdirektorimy_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 20Membuat satu atau beberapa direktorimy_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 21Membuat banyak direktori, termasuk direktori perantara

Membuat Direktori Tunggal

Untuk membuat satu direktori, berikan jalur ke direktori sebagai parameter ke my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 19

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 8

Jika direktori sudah ada, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _19 memunculkan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 24. Atau, Anda dapat membuat direktori menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _9

Jika jalur sudah ada, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 26 memunculkan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 24

>>> >>> import os >>> entries = os.listdir('my_directory/') 0

Untuk menghindari kesalahan seperti ini, tangkap kesalahan saat terjadi dan beri tahu pengguna Anda

>>> import os >>> entries = os.listdir('my_directory/') _1

Sebagai alternatif, Anda dapat mengabaikan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _24 dengan meneruskan argumen my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 29 ke my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 30

>>> import os >>> entries = os.listdir('my_directory/') _2

Ini tidak akan menimbulkan kesalahan jika direktori sudah ada

Hilangkan iklan

Membuat Beberapa Direktori

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 21 mirip dengan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 19. Perbedaan antara keduanya adalah my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 21 tidak hanya dapat membuat direktori individual, tetapi juga dapat digunakan untuk membuat pohon direktori. Dengan kata lain, itu dapat membuat folder perantara yang diperlukan untuk memastikan jalur lengkap ada

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 21 mirip dengan menjalankan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 35 di Bash. Misalnya, untuk membuat grup direktori seperti my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 36, yang harus Anda lakukan adalah sebagai berikut

>>> import os >>> entries = os.listdir('my_directory/') _3

Ini akan membuat struktur direktori bersarang yang berisi folder 2018, 10, dan 05

>>> import os >>> entries = os.listdir('my_directory/') _4

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 37 membuat direktori dengan izin default. Jika Anda perlu membuat direktori dengan izin yang berbeda, panggil my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 37 dan berikan mode yang Anda inginkan untuk membuat direktori

>>> import os >>> entries = os.listdir('my_directory/') _5

Ini membuat struktur direktori my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _36 dan memberikan izin kepada pemilik dan pengguna grup untuk membaca, menulis, dan mengeksekusi. Mode default adalah my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _40, dan bit izin file dari direktori induk yang ada tidak diubah. Untuk detail lebih lanjut tentang izin file, dan bagaimana mode diterapkan,

Jalankan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _41 untuk mengonfirmasi bahwa izin yang tepat telah diterapkan

>>> import os >>> entries = os.listdir('my_directory/') _6

Ini mencetak pohon direktori dari direktori saat ini. my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 41 biasanya digunakan untuk daftar isi direktori dalam format seperti pohon. Melewati my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 43 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 44 argumen untuk itu mencetak nama direktori dan informasi izin file mereka dalam daftar vertikal. my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 43 mencetak izin file, dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 44 membuat my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 41 menghasilkan daftar vertikal tanpa garis lekukan

Seperti yang Anda lihat, semua direktori memiliki izin my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 48. Cara alternatif untuk membuat direktori adalah dengan menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 30 dari my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 50

>>> import os >>> entries = os.listdir('my_directory/') _7

Melewati my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _51 ke my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 52 membuatnya membuat direktori my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 53 dan direktori induk apa pun yang diperlukan untuk membuat jalur valid

Secara default, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _21 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 52 memunculkan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 56 jika direktori target sudah ada. Perilaku ini dapat diganti (pada Python 3. 2) dengan meneruskan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 29 sebagai argumen kata kunci saat memanggil setiap fungsi

Menjalankan kode di atas menghasilkan struktur direktori seperti di bawah ini sekaligus

>>> import os >>> entries = os.listdir('my_directory/') _4

Saya lebih suka menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05 saat membuat direktori karena saya dapat menggunakan fungsi yang sama untuk membuat direktori tunggal atau bersarang

Pencocokan Pola Nama File

Setelah mendapatkan daftar file dalam direktori menggunakan salah satu metode di atas, kemungkinan besar Anda ingin mencari file yang cocok dengan pola tertentu

Ini adalah metode dan fungsi yang tersedia untuk Anda

  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 59 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 60 metode string
  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _61
  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _62
  • my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _63

Masing-masing dibahas di bawah ini. Contoh pada bagian ini akan dilakukan pada direktori bernama my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 64 yang memiliki struktur sebagai berikut

>>> import os >>> entries = os.listdir('my_directory/') _9

Jika Anda mengikuti menggunakan Bash shell, Anda dapat membuat struktur direktori di atas menggunakan perintah berikut

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 0

Ini akan membuat direktori my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _65, mengubahnya, dan kemudian membuat my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 66. Baris berikutnya membuat my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _67 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 68 di my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 66, dan baris terakhir membuat semua file lain menggunakan ekspansi. Untuk mempelajari lebih lanjut tentang perluasan shell, kunjungi situs ini

Hilangkan iklan

Menggunakan Metode String

Python memiliki beberapa metode bawaan untuk memodifikasi dan memanipulasi string. Dua dari metode ini, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _70 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 71, berguna saat Anda mencari pola dalam nama file. Untuk melakukan ini, pertama-tama dapatkan daftar direktori dan kemudian ulangi

>>> >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 1

Kode di atas menemukan semua file di my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _65, mengulanginya dan menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 71 untuk mencetak nama file yang memiliki ekstensi file my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 74. Menjalankan ini di komputer saya menghasilkan keluaran berikut

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 2

Pencocokan Pola Nama File Sederhana Menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 75

Metode string terbatas dalam kemampuan pencocokannya. my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 75 memiliki fungsi dan metode yang lebih canggih untuk pencocokan pola. Kami akan mempertimbangkan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _61, fungsi yang mendukung penggunaan wildcard seperti my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 78 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 79 untuk mencocokkan nama file. Misalnya, untuk menemukan semua file my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _74 dalam direktori menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 75, Anda akan melakukan hal berikut

>>> ________21______3

Ini mengulangi daftar file di my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 64 dan menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 83 untuk melakukan pencarian wildcard untuk file yang memiliki ekstensi my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 74

Pencocokan Pola Lebih Canggih

Misalkan Anda ingin menemukan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 74 file yang memenuhi kriteria tertentu. Misalnya, Anda mungkin hanya tertarik untuk menemukan file my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 74 yang berisi kata my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 87, angka di antara serangkaian garis bawah, dan kata my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 88 dalam nama filenya. Sesuatu yang mirip dengan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 89, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 90, atau my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 91

Menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _61, Anda bisa melakukannya dengan cara ini

>>> >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 4

Di sini, Anda hanya mencetak nama file yang cocok dengan pola my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 93. Tanda bintang dalam pola akan cocok dengan karakter apa pun, jadi menjalankan ini akan menemukan semua file teks yang nama filenya dimulai dengan kata my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 87 dan diakhiri dengan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 95, seperti yang dapat Anda lihat dari output di bawah ini

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 5

Pencocokan Pola Nama File Menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _96

Modul lain yang berguna untuk pencocokan pola adalah ________13______96

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _98 dalam modul my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 96 berfungsi seperti my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 61, tetapi tidak seperti my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 61, ini memperlakukan file yang dimulai dengan titik (>>> import os >>> entries = os.listdir('my_directory/') 02) sebagai spesial

UNIX dan sistem terkait menerjemahkan pola nama dengan wildcard seperti my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 79 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 78 ke dalam daftar file. Ini disebut globbing

Misalnya, mengetik >>> import os >>> entries = os.listdir('my_directory/') 05 di shell UNIX memindahkan (>>> import os >>> entries = os.listdir('my_directory/') 06) semua file dengan ekstensi >>> import os >>> entries = os.listdir('my_directory/') 07 dari direktori saat ini ke direktori >>> import os >>> entries = os.listdir('my_directory/') 08. Karakter my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _78 adalah karakter pengganti yang berarti "sejumlah karakter", dan >>> import os >>> entries = os.listdir('my_directory/') 10 adalah pola glob. Kemampuan shell ini tidak tersedia di Sistem Operasi Windows. Modul my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _96 menambahkan kemampuan ini dengan Python, yang memungkinkan program Windows untuk menggunakan fitur ini

Berikut adalah contoh cara menggunakan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 96 untuk mencari semua file sumber Python (>>> import os >>> entries = os.listdir('my_directory/') 07) di direktori saat ini

>>> >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 6

>>> import os >>> entries = os.listdir('my_directory/') _14 mencari semua file yang memiliki ekstensi >>> import os >>> entries = os.listdir('my_directory/') 07 di direktori saat ini dan mengembalikannya sebagai daftar. my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 96 juga mendukung wildcard gaya shell untuk mencocokkan pola

>>> ________21______7

Ini menemukan semua file teks (my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _74) yang berisi angka dalam nama file

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 2

my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 96 memudahkan untuk mencari file secara rekursif di subdirektori juga

>>> >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 9

Contoh ini memanfaatkan >>> import os >>> entries = os.listdir('my_directory/') _19 untuk mencari >>> import os >>> entries = os.listdir('my_directory/') 07 file di direktori dan subdirektori saat ini. Melewati >>> import os >>> entries = os.listdir('my_directory/') _21 sebagai argumen untuk >>> import os >>> entries = os.listdir('my_directory/') 22 membuatnya mencari >>> import os >>> entries = os.listdir('my_directory/') 07 file di direktori saat ini dan subdirektori apa pun. Perbedaan antara >>> import os >>> entries = os.listdir('my_directory/') 19 dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 62 adalah >>> import os >>> entries = os.listdir('my_directory/') 22 mengembalikan iterator, bukan daftar

Menjalankan program di atas menghasilkan yang berikut ini

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 0

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05 berisi metode serupa untuk membuat daftar file yang fleksibel. Contoh di bawah menunjukkan bagaimana Anda dapat menggunakan >>> import os >>> entries = os.listdir('my_directory/') _28 untuk mencantumkan jenis file yang dimulai dengan huruf >>> import os >>> entries = os.listdir('my_directory/') 29

>>> >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 1

Memanggil >>> import os >>> entries = os.listdir('my_directory/') _30 mengembalikan objek generator yang menunjuk ke semua file di direktori saat ini yang dimulai dengan huruf >>> import os >>> entries = os.listdir('my_directory/') 29 dalam ekstensi file mereka

>>> import os >>> entries = os.listdir('my_directory/') _32 mirip dengan ________19______33 yang dibahas di atas. Seperti yang Anda lihat, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05 menggabungkan banyak fitur terbaik dari modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 03, dan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 96 menjadi satu modul tunggal, yang membuatnya menyenangkan untuk digunakan

Sebagai rekap, berikut adalah tabel fungsi yang telah kami bahas di bagian ini

FunctionDescriptionmy_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 60Tests if a string starts with a specified pattern and returns with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 69 or >>> import os >>> entries = os.listdir('my_directory/') 40my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 59Tests if a string ends with a specified pattern and returns with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 69 or >>> import os >>> entries = os.listdir('my_directory/') 40>>> import os >>> entries = os.listdir('my_directory/') 44Tests whether the filename matches the pattern and returns with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 69 or >>> import os >>> entries = os.listdir('my_directory/') 40my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 62Returns a list of filenames that match a patternmy_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 63Finds patterns in path names

Hilangkan iklan

Melintasi Direktori dan Memproses File

Tugas pemrograman yang umum adalah menjalankan pohon direktori dan memproses file di pohon. Mari jelajahi bagaimana fungsi Python bawaan >>> import os >>> entries = os.listdir('my_directory/') 49 dapat digunakan untuk melakukan ini. >>> import os >>> entries = os.listdir('my_directory/') _49 digunakan untuk menghasilkan nama file di pohon direktori dengan menjalankan pohon baik dari atas ke bawah atau dari bawah ke atas. Untuk keperluan bagian ini, kami akan memanipulasi pohon direktori berikut

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _2

Berikut ini adalah contoh yang menunjukkan cara membuat daftar semua file dan direktori di pohon direktori menggunakan >>> import os >>> entries = os.listdir('my_directory/') 49

>>> import os >>> entries = os.listdir('my_directory/') _49 default untuk melintasi direktori dengan cara top-down

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _3

>>> import os >>> entries = os.listdir('my_directory/') _49 mengembalikan tiga nilai pada setiap iterasi loop

  1. Nama folder saat ini

  2. Daftar folder di folder saat ini

  3. Daftar file di folder saat ini

Pada setiap iterasi, ia mencetak nama subdirektori dan file yang ditemukannya

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _4

Untuk melintasi pohon direktori dengan cara bottom-up, berikan argumen kata kunci >>> import os >>> entries = os.listdir('my_directory/') 54 ke >>> import os >>> entries = os.listdir('my_directory/') 49

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _5

Melewati argumen >>> import os >>> entries = os.listdir('my_directory/') _54 akan membuat >>> import os >>> entries = os.listdir('my_directory/') 49 mencetak file yang ditemukannya di subdirektori terlebih dahulu

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _6

Seperti yang Anda lihat, program dimulai dengan mendaftar konten subdirektori sebelum mendaftar konten direktori root. Ini sangat berguna dalam situasi di mana Anda ingin menghapus file dan direktori secara rekursif. Anda akan belajar bagaimana melakukan ini di bagian di bawah ini. Secara default, >>> import os >>> entries = os.listdir('my_directory/') _58 tidak masuk ke tautan simbolis yang menyelesaikan ke direktori. Perilaku ini dapat diganti dengan memanggilnya dengan argumen >>> import os >>> entries = os.listdir('my_directory/') 59

Membuat File dan Direktori Sementara

Python menyediakan modul praktis untuk membuat file dan direktori sementara yang disebut >>> import os >>> entries = os.listdir('my_directory/') 60

>>> import os >>> entries = os.listdir('my_directory/') _60 dapat digunakan untuk membuka dan menyimpan data sementara di file atau direktori saat program Anda sedang berjalan. >>> import os >>> entries = os.listdir('my_directory/') _60 menangani penghapusan file-file sementara ketika program Anda selesai dengan mereka

Berikut cara membuat file sementara

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _7

Langkah pertama adalah mengimpor >>> import os >>> entries = os.listdir('my_directory/') _63 dari modul >>> import os >>> entries = os.listdir('my_directory/') 60. Selanjutnya, buat file seperti objek menggunakan metode >>> import os >>> entries = os.listdir('my_directory/') 65 dengan memanggilnya dan meneruskan mode tempat Anda ingin membuka file. Ini akan membuat dan membuka file yang dapat digunakan sebagai tempat penyimpanan sementara

Pada contoh di atas, modenya adalah >>> import os >>> entries = os.listdir('my_directory/') _66, yang membuat >>> import os >>> entries = os.listdir('my_directory/') 60 membuat file teks sementara dalam mode tulis. Tidak perlu memberikan file sementara nama file karena akan dihancurkan setelah skrip selesai dijalankan

Setelah menulis ke file, Anda dapat membacanya dan menutupnya setelah selesai memprosesnya. Setelah file ditutup, itu akan dihapus dari sistem file. Jika Anda perlu memberi nama file sementara yang dihasilkan menggunakan >>> import os >>> entries = os.listdir('my_directory/') 60, gunakan >>> import os >>> entries = os.listdir('my_directory/') 69

File dan direktori sementara yang dibuat menggunakan >>> import os >>> entries = os.listdir('my_directory/') 60 disimpan dalam direktori sistem khusus untuk menyimpan file sementara. Python mencari daftar direktori standar untuk menemukan direktori tempat pengguna dapat membuat file

Di Windows, direktorinya adalah >>> import os >>> entries = os.listdir('my_directory/') _71, >>> import os >>> entries = os.listdir('my_directory/') 72, >>> import os >>> entries = os.listdir('my_directory/') 73, dan >>> import os >>> entries = os.listdir('my_directory/') 74, dalam urutan itu. Di semua platform lain, direktorinya adalah >>> import os >>> entries = os.listdir('my_directory/') 75, >>> import os >>> entries = os.listdir('my_directory/') 76, dan >>> import os >>> entries = os.listdir('my_directory/') 77, dalam urutan itu. Sebagai upaya terakhir, >>> import os >>> entries = os.listdir('my_directory/') _60 akan menyimpan file dan direktori sementara di direktori saat ini

>>> import os >>> entries = os.listdir('my_directory/') _79 juga merupakan pengelola konteks sehingga dapat digunakan bersama dengan pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27. Menggunakan manajer konteks menangani penutupan dan penghapusan file secara otomatis setelah dibaca

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _8

Ini membuat file sementara dan membaca data darinya. Segera setelah konten file dibaca, file sementara ditutup dan dihapus dari sistem file

>>> import os >>> entries = os.listdir('my_directory/') _60 juga dapat digunakan untuk membuat direktori sementara. Mari kita lihat bagaimana Anda dapat melakukan ini menggunakan >>> import os >>> entries = os.listdir('my_directory/') 82

>>> >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 9

Memanggil >>> import os >>> entries = os.listdir('my_directory/') _82 membuat direktori sementara di sistem file dan mengembalikan objek yang mewakili direktori ini. Pada contoh di atas, direktori dibuat menggunakan pengelola konteks, dan nama direktori disimpan di >>> import os >>> entries = os.listdir('my_directory/') 84. Baris ketiga mencetak nama direktori sementara, dan >>> import os >>> entries = os.listdir('my_directory/') 85 mengonfirmasi apakah direktori tersebut benar-benar dibuat dalam sistem file

Setelah manajer konteks keluar dari konteks, direktori sementara dihapus dan panggilan ke >>> import os >>> entries = os.listdir('my_directory/') 85 mengembalikan >>> import os >>> entries = os.listdir('my_directory/') 40, yang berarti direktori berhasil dihapus

Hilangkan iklan

Menghapus File dan Direktori

Anda dapat menghapus file tunggal, direktori, dan seluruh pohon direktori menggunakan metode yang ditemukan di modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 02, with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 04, dan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05. Bagian berikut menjelaskan cara menghapus file dan direktori yang tidak diperlukan lagi

Menghapus File dengan Python

Untuk menghapus satu file, gunakan >>> import os >>> entries = os.listdir('my_directory/') _91, >>> import os >>> entries = os.listdir('my_directory/') 92. atau >>> import os >>> entries = os.listdir('my_directory/') _93

>>> import os >>> entries = os.listdir('my_directory/') _92 dan >>> import os >>> entries = os.listdir('my_directory/') 93 secara semantik identik. Untuk menghapus file menggunakan >>> import os >>> entries = os.listdir('my_directory/') _92, lakukan hal berikut

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 0

Menghapus file menggunakan >>> import os >>> entries = os.listdir('my_directory/') _93 mirip dengan cara Anda melakukannya menggunakan >>> import os >>> entries = os.listdir('my_directory/') 92

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 1

Memanggil >>> import os >>> entries = os.listdir('my_directory/') _99 atau >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 00 pada file akan menghapus file dari sistem file. Kedua fungsi ini akan melempar my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt _56 jika jalur yang diteruskan ke mereka menunjuk ke direktori, bukan file. Untuk menghindari hal ini, Anda dapat memeriksa apakah yang ingin Anda hapus sebenarnya adalah file dan hanya menghapusnya jika memang demikian, atau Anda dapat menggunakan penanganan pengecualian untuk menangani my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 56

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 2

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 62 memeriksa apakah >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 04 sebenarnya adalah sebuah file. Jika ya, itu dihapus oleh panggilan ke >>> import os >>> entries = os.listdir('my_directory/') 92. Jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _04 menunjuk ke folder, pesan kesalahan dicetak ke konsol

Contoh berikut menunjukkan cara menggunakan penanganan pengecualian untuk menangani kesalahan saat menghapus file

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 3

Kode di atas mencoba menghapus file terlebih dahulu sebelum memeriksa jenisnya. Jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _04 sebenarnya bukan file, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 56 yang dilemparkan ditangani dalam klausa >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 09, dan pesan kesalahan dicetak ke konsol. Pesan kesalahan yang dicetak diformat menggunakan f-string Python

Terakhir, Anda juga dapat menggunakan >>> import os >>> entries = os.listdir('my_directory/') _91 untuk menghapus file

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 4

Ini membuat objek with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _31 bernama >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 04 yang menunjuk ke sebuah file. Menelepon >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 00 pada >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 04 akan menghapus >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 15. Jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _04 menunjuk ke direktori, >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 17 dimunculkan. Perlu dicatat bahwa program Python di atas memiliki izin yang sama dengan pengguna yang menjalankannya. Jika pengguna tidak memiliki izin untuk menghapus file, >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 18 akan dimunculkan

Menghapus Direktori

Pustaka standar menawarkan fungsi-fungsi berikut untuk menghapus direktori

  • >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 19
  • >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 20
  • >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 21

Untuk menghapus satu direktori atau folder, gunakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 19 atau >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 23. Kedua fungsi ini hanya berfungsi jika direktori yang Anda coba hapus kosong. Jika direktori tidak kosong, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 56 dimunculkan. Berikut cara menghapus folder

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 5

Di sini, direktori >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _25 dihapus dengan meneruskan jalurnya ke >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 19. Jika direktori tidak kosong, pesan kesalahan akan dicetak di layar

>>> >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 6

Atau, Anda dapat menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05 untuk menghapus direktori

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 7

Di sini, Anda membuat objek with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _31 yang menunjuk ke direktori yang akan dihapus. Memanggil >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 29 pada objek ________0______31 akan menghapusnya jika kosong

Hilangkan iklan

Menghapus Seluruh Pohon Direktori

Untuk menghapus direktori yang tidak kosong dan seluruh pohon direktori, Python menawarkan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 21

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 8

Segala sesuatu di >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _25 dihapus ketika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 21 dipanggil di atasnya. Mungkin ada kasus di mana Anda ingin menghapus folder kosong secara rekursif. Anda dapat melakukannya dengan menggunakan salah satu metode yang dibahas di atas bersama dengan >>> import os >>> entries = os.listdir('my_directory/') 49

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> _9

Ini menyusuri pohon direktori dan mencoba menghapus setiap direktori yang ditemukannya. Jika direktori tidak kosong, my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 56 dimunculkan dan direktori tersebut dilewati. Tabel di bawah mencantumkan fungsi yang tercakup dalam bagian ini

FunctionDescription>>> import os >>> entries = os.listdir('my_directory/') 92Deletes file dan tidak menghapus direktori>>> import os >>> entries = os.listdir('my_directory/') 93 identik dengan >>> import os >>> entries = os.listdir('my_directory/') 92 dan menghapus satu file____>>> import os >>> entries = os.listdir('my_directory/') 91.deletes.

Menyalin, Memindahkan, dan Mengganti Nama File dan Direktori

Python dikirimkan dengan modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _04. with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _04 adalah kependekan dari utilitas shell. Ini menyediakan sejumlah operasi tingkat tinggi pada file untuk mendukung penyalinan, pengarsipan, dan penghapusan file dan direktori. Di bagian ini, Anda akan mempelajari cara memindahkan dan menyalin file dan direktori

Menyalin File dengan Python

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _04 menawarkan beberapa fungsi untuk menyalin file. Fungsi yang paling umum digunakan adalah >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _46 dan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 47. Untuk menyalin file dari satu lokasi ke lokasi lain menggunakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 46, lakukan hal berikut

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 0

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 46 sebanding dengan perintah >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 50 dalam sistem berbasis UNIX. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 51 akan menyalin file >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 52 ke lokasi yang ditentukan di >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 53. Jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _53 adalah sebuah file, isi dari file tersebut diganti dengan isi dari >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 52. Jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _53 adalah sebuah direktori, maka >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 52 akan disalin ke direktori tersebut. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 46 hanya menyalin konten file dan izin file. Metadata lain seperti waktu pembuatan dan modifikasi file tidak dipertahankan

Untuk mempertahankan semua metadata file saat menyalin, gunakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 47

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 1

Menggunakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _60 mempertahankan detail tentang file seperti waktu akses terakhir, bit izin, waktu modifikasi terakhir, dan bendera

Menyalin Direktori

Sementara >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _46 hanya menyalin satu file, >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 62 akan menyalin seluruh direktori dan semua yang ada di dalamnya. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 63 mengambil dua argumen. direktori sumber dan direktori tujuan tempat file dan folder akan disalin

Berikut adalah contoh cara menyalin konten dari satu folder ke lokasi lain

>>> import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 2

Dalam contoh ini, >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _64 menyalin konten >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 65 ke lokasi baru >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 66 dan mengembalikan direktori tujuan. Direktori tujuan tidak boleh sudah ada. Itu akan dibuat serta direktori induk yang hilang. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 62 adalah cara yang baik untuk membuat cadangan file Anda

Hilangkan iklan

Memindahkan File dan Direktori

Untuk memindahkan file atau direktori ke lokasi lain, gunakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 68

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 52 adalah file atau direktori yang akan dipindahkan dan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 53 adalah tujuan

>>> ________31______3

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 71 memindahkan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 72 ke >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 73 jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 73 ada. Jika >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _73 tidak ada, >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 72 akan diganti namanya menjadi my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 88

Mengganti Nama File dan Direktori

Python menyertakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 78 untuk mengganti nama file dan direktori

>>> import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 4

Baris di atas akan mengganti nama >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _79 menjadi >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 80. Jika jalur tujuan mengarah ke direktori, itu akan memunculkan my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 56

Cara lain untuk mengganti nama file atau direktori adalah dengan menggunakan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 82 dari modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 05

>>> import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 5

Untuk mengganti nama file menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _05, Anda terlebih dahulu membuat objek with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 22 yang berisi jalur ke file yang ingin Anda ganti. Langkah selanjutnya adalah memanggil >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _82 pada objek path dan meneruskan nama file baru untuk file atau direktori yang Anda ganti namanya

Pengarsipan

Arsip adalah cara mudah untuk mengemas beberapa file menjadi satu. Dua jenis arsip yang paling umum adalah ZIP dan TAR. Program Python yang Anda tulis dapat membuat, membaca, dan mengekstrak data dari arsip. Anda akan mempelajari cara membaca dan menulis ke kedua format arsip di bagian ini

Membaca File ZIP

Modul >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _87 adalah modul tingkat rendah yang merupakan bagian dari Perpustakaan Standar Python. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 87 memiliki fungsi yang memudahkan untuk membuka dan mengekstrak file ZIP. Untuk membaca konten file ZIP, hal pertama yang harus dilakukan adalah membuat objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89 objek mirip dengan objek file yang dibuat menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 07. >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89 juga merupakan manajer konteks dan karenanya mendukung pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 6

Di sini, Anda membuat objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _89, meneruskan nama file ZIP untuk dibuka dalam mode baca. Setelah membuka file ZIP, informasi tentang arsip dapat diakses melalui fungsi yang disediakan oleh modul >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 87. Arsip >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _96 pada contoh di atas dibuat dari direktori bernama my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 87 yang berisi total 5 file dan 1 subdirektori

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 7

Untuk mendapatkan daftar file dalam arsip, panggil >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 98 pada objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) 8

Ini menghasilkan daftar

import os with os.scandir('my_directory/') as entries: for entry in entries: print(entry.name) _9

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _00 mengembalikan daftar nama file dan direktori dalam arsip. Untuk mengambil informasi tentang file dalam arsip, gunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 01

sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 0

Inilah hasilnya

sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 1

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _01 mengembalikan objek >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 03 yang menyimpan informasi tentang satu anggota arsip. Untuk mendapatkan informasi tentang file dalam arsip, Anda meneruskan jalurnya sebagai argumen ke >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 01. Menggunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _05, Anda dapat mengambil informasi tentang anggota arsip seperti tanggal file terakhir diubah, ukuran terkompresi, dan nama file lengkapnya. Mengakses >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _06 mengambil ukuran asli file dalam byte

Contoh berikut menunjukkan cara mengambil detail lebih lanjut tentang file yang diarsipkan di Python REPL. Asumsikan modul >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 87 telah diimpor dan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 08 adalah objek yang sama dengan yang Anda buat pada contoh sebelumnya

>>> sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 2

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _08 berisi detail tentang >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 10 seperti ukurannya saat dikompresi dan path lengkapnya

Baris pertama menunjukkan cara mengambil tanggal modifikasi terakhir file. Baris berikutnya menunjukkan cara mendapatkan ukuran file setelah kompresi. Baris terakhir menunjukkan jalur lengkap >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 10 di arsip

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89 mendukung protokol manajer konteks, itulah sebabnya Anda dapat menggunakannya dengan pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27. Melakukan ini secara otomatis menutup objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _89 setelah Anda selesai melakukannya. Mencoba membuka atau mengekstrak file dari objek ________21______89 yang tertutup akan menghasilkan kesalahan

Hilangkan iklan

Mengekstrak Arsip ZIP

Modul >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _87 memungkinkan Anda mengekstrak satu atau lebih file dari arsip ZIP melalui >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 17 dan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 18

Metode ini mengekstrak file ke direktori saat ini secara default. Keduanya mengambil parameter >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _19 opsional yang memungkinkan Anda menentukan direktori berbeda untuk mengekstrak file. Jika direktori tidak ada, itu dibuat secara otomatis. Untuk mengekstrak file dari arsip, lakukan hal berikut

>>> sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 3

Baris kode ketiga adalah panggilan ke with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 14, yang menunjukkan bahwa direktori saat ini hanya memiliki satu file, >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 96

Selanjutnya, Anda membuka >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _96 dalam mode baca dan memanggil >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 17 untuk mengekstrak my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 67 darinya. >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _17 mengembalikan jalur file lengkap dari file yang diekstraksi. Karena tidak ada jalur yang ditentukan, >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _17 mengekstrak my_directory/ | ├── sub_dir/ | ├── bar.py | └── foo.py | ├── sub_dir_b/ | └── file4.txt | ├── sub_dir_c/ | ├── config.py | └── file5.txt | ├── file1.py ├── file2.csv └── file3.txt 67 ke direktori saat ini

Baris berikutnya mencetak daftar direktori yang menunjukkan bahwa direktori saat ini sekarang menyertakan file yang diekstraksi selain arsip aslinya. Baris setelah itu menunjukkan cara mengekstrak seluruh arsip ke dalam direktori >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 28. >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _18 membuat >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 30 dan mengekstrak isi >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 96 ke dalamnya. Baris terakhir menutup arsip ZIP

Mengekstrak Data Dari Arsip yang Dilindungi Kata Sandi

>>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 87 mendukung ekstraksi ZIP yang dilindungi kata sandi. Untuk mengekstrak file ZIP yang dilindungi kata sandi, berikan kata sandi ke metode >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 17 atau >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 18 sebagai argumen

>>> sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 4

Ini membuka arsip >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _35 dalam mode baca. Kata sandi diberikan ke >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _18, dan konten arsip diekstrak ke >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 30. Arsip ditutup secara otomatis setelah ekstraksi selesai berkat pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27

Membuat Arsip ZIP Baru

Untuk membuat arsip ZIP baru, Anda membuka objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89 dalam mode tulis (with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 09) dan menambahkan file yang ingin Anda arsipkan

>>> sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 5

Dalam contoh, >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _41 dibuka dalam mode tulis dan setiap file di >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 42 ditambahkan ke arsip. Saat rangkaian pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27 selesai, >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 41 ditutup. Membuka file ZIP dalam mode tulis akan menghapus konten arsip dan membuat arsip baru

Untuk menambahkan file ke arsip yang sudah ada, buka objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 89 dalam mode tambahkan lalu tambahkan file

>>> sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 6

Di sini, Anda membuka arsip >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 46 yang Anda buat pada contoh sebelumnya dalam mode penambahan. Membuka objek >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] _89 dalam mode append memungkinkan Anda menambahkan file baru ke file ZIP tanpa menghapus isinya saat ini. Setelah menambahkan file ke file ZIP, pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27 keluar dari konteks dan menutup file ZIP

Membuka Arsip TAR

File TAR adalah arsip file yang tidak terkompresi seperti ZIP. Mereka dapat dikompres menggunakan metode kompresi gzip, bzip2, dan lzma. Kelas >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _49 memungkinkan membaca dan menulis arsip TAR

Lakukan ini untuk membaca dari arsip

sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 7

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _50 objek terbuka seperti kebanyakan objek mirip file. Mereka memiliki fungsi with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _07 yang mengambil mode yang menentukan bagaimana file akan dibuka

Gunakan mode >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 52, >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 53 atau >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 54 untuk membuka file TAR yang tidak terkompresi untuk masing-masing membaca, menulis, dan menambahkan. Untuk membuka file TAR terkompresi, berikan argumen mode ke >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 55 dalam bentuk >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 56. Tabel di bawah mencantumkan mode yang memungkinkan file TAR dapat dibuka

ModeActionwith open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 08Opens archive for reading with transparent compression>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 58Opens archive for reading with gzip compression>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 59Opens archive for reading with bzip2 compression>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 60Opens archive for reading with lzma compressionwith open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 09Opens archive for uncompressed writing>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 62Opens archive for gzip compressed writing>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 63Opens archive for lzma compressed writing>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 64Opens archive for appending with no compression

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _65 default ke mode >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 52. Untuk membaca file TAR yang tidak terkompresi dan mengambil nama file di dalamnya, gunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 67

>>> ________36______8

Ini mengembalikan daftar dengan nama isi arsip

Catatan. Untuk tujuan menunjukkan kepada Anda bagaimana menggunakan metode objek >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 50 yang berbeda, file TAR dalam contoh dibuka dan ditutup secara manual dalam sesi REPL interaktif

Berinteraksi dengan file TAR dengan cara ini memungkinkan Anda melihat hasil dari menjalankan setiap perintah. Biasanya, Anda ingin menggunakan manajer konteks untuk membuka objek seperti file

Metadata setiap entri dalam arsip dapat diakses menggunakan atribut khusus

>>> sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 9

Dalam contoh ini, Anda menelusuri daftar file yang dikembalikan oleh >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 69 dan mencetak setiap atribut file. Objek yang dikembalikan oleh >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _69 memiliki atribut yang dapat diakses secara terprogram seperti nama, ukuran, dan waktu modifikasi terakhir dari setiap file dalam arsip. Setelah membaca atau menulis ke arsip, itu harus ditutup untuk mengosongkan sumber daya sistem

Mengekstrak File Dari Arsip TAR

Di bagian ini, Anda akan mempelajari cara mengekstrak file dari arsip TAR menggunakan metode berikut

  • >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _17
  • >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _72
  • >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _18

Untuk mengekstrak satu file dari arsip TAR, gunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 74, dengan meneruskan nama file

>>> from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 0

File >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _75 diekstraksi dari arsip ke sistem file. Memanggil with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _14 menegaskan bahwa >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 75 file berhasil diekstraksi ke direktori saat ini. Untuk membongkar atau mengekstrak semuanya dari arsip, gunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 18

>>> from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 1

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _18 memiliki >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 19 opsional argumen untuk menentukan ke mana file yang diekstrak harus pergi. Di sini, arsip dibongkar ke direktori ________23______81. Perintah berikut menunjukkan bahwa arsip berhasil diekstraksi

from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 2

Untuk mengekstrak objek file untuk dibaca atau ditulis, gunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 72, yang menggunakan nama file atau objek >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 83 untuk diekstraksi sebagai argumen. >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _72 mengembalikan objek seperti file yang dapat dibaca dan digunakan

>>> from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 3

Arsip yang dibuka harus selalu ditutup setelah dibaca atau ditulis. Untuk menutup arsip, panggil >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _85 pada pegangan file arsip atau gunakan pernyataan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27 saat membuat >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 50 objek untuk menutup arsip secara otomatis setelah Anda selesai. Ini membebaskan sumber daya sistem dan menulis setiap perubahan yang Anda buat ke arsip ke sistem file

Membuat Arsip TAR Baru

Inilah cara Anda melakukannya

>>> from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 4

Pertama, Anda membuat daftar file untuk ditambahkan ke arsip sehingga Anda tidak perlu menambahkan setiap file secara manual

Baris berikutnya menggunakan manajer konteks with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27 untuk membuka arsip baru bernama >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 89 dalam mode tulis. Membuka arsip dalam mode tulis(>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 53) memungkinkan Anda untuk menulis file baru ke arsip. Semua file yang ada di arsip akan dihapus dan arsip baru akan dibuat

Setelah arsip dibuat dan diisi, manajer konteks with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 27 secara otomatis menutupnya dan menyimpannya ke sistem file. Tiga baris terakhir membuka arsip yang baru saja Anda buat dan mencetak nama file yang ada di dalamnya

Untuk menambahkan file baru ke arsip yang sudah ada, buka arsip dalam mode tambahkan (>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 54)

>>> from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 5

Membuka arsip dalam mode penambahan memungkinkan Anda menambahkan file baru ke dalamnya tanpa menghapus file yang sudah ada di dalamnya

Bekerja Dengan Arsip Terkompresi

>>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _50 juga dapat membaca dan menulis arsip TAR yang dikompres menggunakan kompresi gzip, bzip2, dan lzma. Untuk membaca atau menulis ke arsip terkompresi, gunakan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 55, meneruskan mode yang sesuai untuk jenis kompresi

Misalnya, untuk membaca atau menulis data ke arsip TAR yang dikompres menggunakan gzip, gunakan mode >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 95 atau >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 96 masing-masing

>>> from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 6

Mode >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir _96 membuka arsip untuk tulisan terkompresi gzip dan >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 95 membuka arsip untuk bacaan terkompresi gzip. Membuka arsip terkompresi dalam mode penambahan tidak dimungkinkan. Untuk menambahkan file ke arsip terkompresi, Anda harus membuat arsip baru

Cara Lebih Mudah Membuat Arsip

Pustaka Standar Python juga mendukung pembuatan arsip TAR dan ZIP menggunakan metode tingkat tinggi dalam modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 04. Utilitas pengarsipan di with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 04 memungkinkan Anda membuat, membaca, dan mengekstrak arsip ZIP dan TAR. Utilitas ini mengandalkan modul >>> entries = os.listdir('my_directory/') >>> for entry in entries: .. print(entry) ... ... sub_dir_c file1.py sub_dir_b file3.txt file2.csv sub_dir 50 dan >>> os.listdir('my_directory/') ['sub_dir_c', 'file1.py', 'sub_dir_b', 'file3.txt', 'file2.csv', 'sub_dir'] 87 level yang lebih rendah

Bekerja Dengan Arsip Menggunakan >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 03

>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 03 membutuhkan setidaknya dua argumen. nama arsip dan format arsip

Secara default, ini memampatkan semua file di direktori saat ini ke dalam format arsip yang ditentukan dalam argumen >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 05. Anda dapat memberikan argumen >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> _06 opsional untuk mengompres file di direktori yang berbeda. >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 07 mendukung >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 08, >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 09, >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 10, dan >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 11 format arsip

Ini adalah cara membuat arsip TAR menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 04

from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 7

Ini menyalin semua yang ada di >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 13 dan membuat arsip bernama >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 14 di sistem file dan mengembalikan namanya. Untuk mengekstrak arsip, hubungi >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 15

from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) 8

Memanggil >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> _15 dan meneruskan nama arsip dan direktori tujuan mengekstrak konten >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 14 ke >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 18. Arsip ZIP dapat dibuat dan diekstraksi dengan cara yang sama

Membaca Banyak File

Python mendukung membaca data dari beberapa input stream atau dari daftar file melalui modul with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 06. Modul ini memungkinkan Anda mengulang konten dari satu atau lebih file teks dengan cepat dan mudah. Inilah cara umum with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _06 digunakan

from pathlib import Path entries = Path('my_directory/') for entry in entries.iterdir(): print(entry.name) _9

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _06 mendapatkan inputnya dari argumen baris perintah yang diteruskan ke >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 22 secara default

Menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _06 untuk Mengulangi Banyak File

Mari gunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _06 untuk membuat versi kasar dari utilitas umum UNIX >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 25. Utilitas >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> _25 membaca file secara berurutan, menuliskannya ke keluaran standar. Ketika diberi lebih dari satu file dalam argumen baris perintahnya, >>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 25 akan menggabungkan file teks dan menampilkan hasilnya di terminal

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _00

Menjalankan ini pada dua file teks di direktori saya saat ini menghasilkan keluaran berikut

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _01

with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) _06 memungkinkan Anda untuk mengambil lebih banyak informasi tentang setiap baris seperti apakah itu baris pertama atau tidak (>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 29), nomor baris (>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 30), dan nama file (>>> import os >>> entries = os.scandir('my_directory/') >>> entries <posix.ScandirIterator object at 0x7f5b047f3690> 31). Anda dapat membaca selengkapnya di sini

Kesimpulan

Anda sekarang tahu cara menggunakan Python untuk melakukan operasi paling umum pada file dan grup file. Anda telah mempelajari berbagai modul bawaan yang digunakan untuk membaca, menemukan, dan memanipulasinya

Anda sekarang diperlengkapi untuk menggunakan Python

  • Dapatkan konten direktori dan properti file
  • Buat direktori dan pohon direktori
  • Temukan pola dalam nama file
  • Buat file dan direktori sementara
  • Pindahkan, ganti nama, salin, dan hapus file atau direktori
  • Membaca dan mengekstrak data dari berbagai jenis arsip
  • Baca banyak file secara bersamaan menggunakan with open('data.txt', 'w') as f: data = 'some data to be written to the file' f.write(data) 06

Tandai sebagai Selesai

Tonton Sekarang Tutorial ini memiliki kursus video terkait yang dibuat oleh tim Real Python. Tonton bersama dengan tutorial tertulis untuk memperdalam pemahaman Anda. Resep Praktis untuk Bekerja Dengan File di Python

🐍 Trik Python 💌

Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python

Kirimi Saya Trik Python »

Tentang Vuyisile Ndlovu

Pengembang Django dan penggila sumber terbuka

» Lebih lanjut tentang Vuyisile

Setiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah

Daud

Geir Arne

Joanna

Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista

Tingkatkan Keterampilan Python Anda »

Guru Keterampilan Python Dunia Nyata
Dengan Akses Tak Terbatas ke Real Python

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista

Tingkatkan Keterampilan Python Anda »

Bagaimana menurutmu?

Nilai artikel ini

Tweet Bagikan Bagikan Email

Apa takeaway # 1 Anda atau hal favorit yang Anda pelajari?

Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami

Bagaimana Anda membaca data dari file teks dengan Python?

Jika Anda ingin membaca file teks dengan Python, Anda harus membukanya terlebih dahulu. Jika file teks dan file Anda saat ini berada di direktori ("folder") yang sama, maka Anda cukup mereferensikan nama file dalam fungsi open().

Bagaimana Anda mengakses data dengan Python?

Untuk mengakses database dengan Python, Anda harus menggunakan adaptor database . Python menawarkan adaptor basis data melalui modulnya yang memungkinkan akses ke basis data utama seperti MySQL, PostgreSQL, SQL Server, dan SQLite. Selain itu, semua modul ini mengandalkan API basis data Python (DB-API) untuk mengelola basis data.

Bagaimana Anda membaca data dari file?

Langkah dasar dalam membaca data dari file adalah. .
Beri tahu program di mana menemukan data
Buka jalur ke data
Siapkan variabel program untuk mengakses data
Baca datanya
Tutup jalur data

Postingan terbaru

LIHAT SEMUA