Saya menulis skrip yang melakukan sesuatu pada file teks (apa yang dilakukannya tidak relevan untuk pertanyaan saya). Jadi sebelum saya melakukan sesuatu pada file saya ingin memeriksa apakah file itu ada. Saya bisa melakukan ini, tidak ada masalah, tetapi masalahnya lebih pada estetika.
Ini kode saya, menerapkan hal yang sama dalam dua cara berbeda.
def modify_file(filename):
assert os.path.isfile(filename), 'file does NOT exist.'
Traceback (most recent call last):
File "clean_files.py", line 15, in <module>
print(clean_file('tes3t.txt'))
File "clean_files.py", line 8, in clean_file
assert os.path.isfile(filename), 'file does NOT exist.'
AssertionError: file does NOT exist.
atau:
def modify_file(filename):
if not os.path.isfile(filename):
return 'file does NOT exist.'
file does NOT exist.
Metode pertama menghasilkan output yang sebagian besar sepele, satu-satunya hal yang saya pedulikan adalah bahwa file tersebut tidak ada.
Metode kedua mengembalikan string, itu sederhana.
Pertanyaan saya adalah: metode mana yang lebih baik untuk memberi tahu pengguna bahwa file tersebut tidak ada? Menggunakan assert
metode ini sepertinya lebih bersifat pythonic.