Saya punya file teks.
Bagaimana saya bisa mengecek apakah itu kosong atau tidak?
python
file
file-length
webminal.org
sumber
sumber
stat.ST_SIZE
bukannya 6sumber
OSError
dan mengembalikan False.Keduanya
getsize()
danstat()
akan melempar pengecualian jika file tidak ada. Fungsi ini akan mengembalikan Benar / Salah tanpa melempar (lebih sederhana tetapi kurang kuat):sumber
os.path.getsize()
os.path.isfile(fpath)
danos.path.getsize(fpath)
, dalam hal ini fungsi yang diusulkan akan menimbulkan pengecualian.OSError
saja, seperti yang diusulkan dalam komentar lain .TypeError
yang akan dinaikkan jika input fpathNone
.jika karena suatu alasan Anda sudah membuka file Anda dapat mencoba ini:
sumber
Ok jadi saya akan menggabungkan jawaban ghostdog74 dan komentarnya, hanya untuk bersenang-senang.
False
berarti file yang tidak kosong.Jadi mari kita tulis fungsi:
sumber
Jika Anda menggunakan Python3 dengan
pathlib
Anda dapat mengaksesos.stat()
informasi menggunakanPath.stat()
metode, yang memiliki atributst_size
(ukuran file dalam byte):sumber
jika Anda memiliki objek file, maka
sumber
Gotcha penting: file kosong terkompresi akan tampak tidak nol ketika diuji dengan
getsize()
ataustat()
fungsinya:Jadi, Anda harus memeriksa apakah file yang akan diuji dikompresi (mis., Periksa akhiran nama file) dan jika demikian, bail atau buka kompresi ke lokasi sementara, uji file yang tidak dikompresi, dan kemudian hapus ketika selesai.
sumber
Karena Anda belum menentukan apa file kosong itu. Beberapa orang mungkin menganggap file hanya dengan baris kosong dan juga file kosong. Jadi, jika Anda ingin memeriksa apakah file Anda hanya berisi baris kosong (karakter spasi apa saja, '\ r', '\ n', '\ t') , Anda dapat mengikuti contoh di bawah ini:
Python3
Jelaskan: contoh di atas menggunakan ekspresi reguler (regex) untuk mencocokkan konten (
content
) file.Khususnya: untuk regex dari:
^\s*$
secara keseluruhan berarti jika file hanya berisi baris kosong dan / atau spasi kosong.-
^
menegaskan posisi pada awal garis-
\s
cocok dengan karakter spasi apa pun (sama dengan [\ r \ n \ t \ f \ v])-
*
Kuantifikasi - Menyesuaikan antara nol dan waktu tanpa batas, sebanyak mungkin, memberikan kembali sesuai kebutuhan ( serakah)-
$
menegaskan posisi di akhir barissumber
jika Anda ingin memeriksa file csv kosong atau tidak ....... coba ini
sumber