Bagaimana cara saya melintasi direktori dengan python?

Solusi sederhana untuk mengulang file dalam direktori menggunakan fungsi os.listdir(). Ini mengembalikan daftar file dan subdirektori yang ada di direktori yang ditentukan. Untuk mendapatkan file saja, Anda dapat memfilter daftar dengan fungsi os.path.isfile()

1

2

3

4

5

6

7

8

impor os

 

direktori = 'jalur/ke/dir'

untuk namafile di os. listdir(direktori).

    f = os. jalur. gabung(direktori, namafile)

    jika os. jalur. isfile(f).

        cetak(f)

 

Unduh Kode

 
Untuk mendapatkan file dengan ekstensi tertentu, misalnya .txt, Anda dapat menambahkan syarat untuk memeriksa ekstensi file

1

2

3

4

5

6

7

8

impor os

 

direktori = 'jalur/ke/dir'

untuk namafile di os. listdir(direktori).

    f = os. jalur. gabung(direktori, namafile)

    jika os. jalur. isfile(f) dan . filename.diakhiri dengan('. txt').

        cetak(f)

 

Unduh Kode

2. Menggunakan fungsi os.scandir()_

Dimulai dengan Python 3. 5, pertimbangkan untuk menggunakan fungsi os.scandir()_ saat Anda memerlukan jenis file atau informasi atribut file. Ini mengembalikan entri direktori dan informasi atribut file, memberikan kinerja yang jauh lebih baik daripada os.listdir()

1

2

3

4

5

6

7

8

impor os

 

direktori = 'jalur/ke/dir'

 

untuk entri di os. scandir(direktori).

    jika masuk. is_file() dan entri . .nama. diakhiri dengan('. txt').

        cetak(entri. jalur)

 

Unduh Kode

3. Menggunakan modul pathlib_

Dengan Python3. 4, Anda juga dapat menggunakan modul pathlib. Untuk mengulangi file dalam direktori, gunakan fungsi Path.glob(pattern), yang menggumpalkan pola relatif yang diberikan dalam direktori yang ditentukan dan menghasilkan file yang cocok

Contoh berikut menunjukkan cara memfilter dan menampilkan file teks yang ada di direktori

1

2

3

4

5

6

7

dari pathlib impor Jalur

 

direktori = 'jalur/ke/dir'

daftar jalur = Jalur(direktori).glob('*. txt')

untuk jalur di daftar jalur.

    cetak(jalur)

 

Unduh Kode

 
Sebagai alternatif, Anda dapat menggunakan fungsi os.listdir()_0, yang menghasilkan objek jalur dari konten direktori. Untuk mendapatkan ekstensi file dari file, gunakan properti os.listdir()1

1

2

3

4

5

6

7

8

dari pathlib impor Jalur

 

direktori = 'jalur/ke/dir'

 

untuk jalur di Jalur(directory).iterdir().

    jika jalur. file_is() dan jalur . .akhiran == '. txt'.

        cetak(jalur)

 

Unduh Kode

4. Menggunakan fungsi os.listdir()_2

Jika Anda juga perlu mencari subdirektori, pertimbangkan untuk menggunakan fungsi os.listdir()2. Ini menghasilkan 3-tuple os.listdir()4 untuk semua yang dapat dijangkau dari direktori yang ditentukan, di mana os.listdir()5 adalah jalur ke direktori, os.listdir()6 adalah daftar nama subdirektori di dirpath, dan os.listdir()7 adalah daftar nama non-direktori

1

2

3

4

5

6

7

8

9

impor os

 

direktori = 'jalur/ke/dir'

 

untuk root, direktori, files in os.berjalan(direktori).

    untuk file di file:

        jika berkas. diakhiri dengan('. txt').

            cetak(os. jalur. bergabung(root, berkas))

 

Unduh Kode

 
Pada Python 3. 5, os.listdir()2 panggilan os.scandir() bukan os.listdir(), sehingga membuatnya lebih cepat dengan mengurangi jumlah total panggilan ke os.path.isfile()1

5. Menggunakan modul os.path.isfile()_2

Terakhir, Anda dapat menggunakan fungsi os.path.isfile()_3, yang mengembalikan iterator pada daftar nama jalur yang cocok dengan pola yang ditentukan

Bagaimana cara melintasi direktori?

Berbagai Cara untuk melintasi Direktori .
Menggunakan metode listFiles() dari kelas File
Menggunakan metode walk() di Java 8 dan seterusnya

Bagaimana cara menavigasi ke folder di Terminal Python?

Anda dapat mengubah direktori hanya dengan mengetikkan "cd DirectoryPath" ke dalam prompt perintah. Ganti "DirectoryPath" dengan jalur lengkap atau nama folder di folder saat ini untuk masuk ke folder itu . Anda dapat mengetik "cd. " ke "naik" atau "keluar" dari direktori saat ini.