Cara untuk mendapatkan nama file tanpa ekstensi dari sebuah jalan di Python?
Cara untuk mendapatkan nama file tanpa ekstensi dari sebuah jalan di Python?
862
23
Cara untuk mendapatkan nama file tanpa ekstensi dari sebuah jalan di Python?
Mendapatkan nama file tanpa ekstensi:
Cetakan:
Important Catatan: Jika nama file yang memiliki beberapa titik, hanya perpanjangan setelah yang terakhir dihapus. Misalnya:
Cetakan:
Lihat jawaban di bawah ini jika anda perlu untuk menangani kasus itu.
Anda dapat membuat anda sendiri dengan:
Catatan penting: Jika ada lebih dari satu
.
di nama file, hanya yang terakhir dihapus. Misalnya:Lihat di bawah untuk jawaban yang lain bahwa alamat itu.
Menggunakan
pathlib
di Python 3.4+akan kembali
Di Python 3.4+ anda dapat menggunakan
pathlib
solusiJika anda ingin menyimpan path ke file dan menghapus ekstensi
https://docs.python.org/3/library/os.path.html
Di python 3 pathlib "pathlib modul menawarkan tingkat tinggi jalan benda." jadi,
os.jalan.splitext() tidak't bekerja jika ada beberapa titik-titik dalam ekstensi.
Misalnya, images.tar.gz
Anda hanya dapat menemukan indeks dari dot pertama di basename dan kemudian iris basename hanya untuk mendapatkan nama file tanpa ekstensi.
@IceAdor's mengacu pada rsplit di komentar @user2902201's solusi. rsplit adalah solusi sederhana yang mendukung beberapa periode.
Berikut ini adalah dieja:
saya.laporan
impor os
, dan kemudian menggunakanos.jalan.basename
impor a'ing
osdoesn't berarti anda dapat menggunakan
os.footanpa mengacu pada
os`.Pikir saya akan melemparkan dalam variasi penggunaan os.jalan.splitext tanpa perlu menggunakan array pengindeksan.
Fungsi selalu kembali
(akar, ext)
pasangan sehingga aman untuk digunakan:akar, ext = os.jalan.splitext(path)
Contoh:
impor os
Ini kembali
filename
tanpaekstensi
(C:\Users\Public\Videos\Sample Video\satwa liar)Sekarang anda bisa mendapatkan hanya
filename
dari temp denganBeberapa ekstensi menyadari prosedur. Bekerja untuk
str
danunicode
jalan. Bekerja di Python 2 dan 3.Perilaku:
Metode lain yang don't menghapus beberapa ekstensi. Beberapa juga memiliki masalah dengan nama file yang don't memiliki ekstensi. Ini cuplikan yang berkaitan dengan contoh dan bekerja di kedua Python 2 dan 3. Ia meraih basename dari jalan, membagi nilai pada titik-titik, dan pengembalian yang pertama yang merupakan bagian awal dari nama berkas.
Berikut ini's seperangkat contoh-contoh untuk menjalankan:
Dalam setiap kasus, nilai yang tercetak adalah:
Pada sistem Windows saya menggunakan drivername awalan juga, seperti:
Jadi karena saya tidak perlu huruf drive atau direktori nama, saya gunakan:
Kita bisa melakukan beberapa sederhana
split
/pop
sihir seperti yang terlihat di sini (https://stackoverflow.com/a/424006/1250044), untuk mengekstrak file (menghormati windows dan POSIX perbedaan).cara termudah untuk mengatasi hal ini adalah dengan
ini menghemat anda waktu dan perhitungan biaya.
impor os filename, file_extension = os.jalan.splitext('/d1/d2/contoh.cs') nama file '/d1/d2/contoh' file_extension adalah '.cs'