Tôi cần kiểm tra thư mục hiện tại và xem tệp có phần mở rộng tồn tại hay không. Thiết lập của tôi (thường) chỉ có một tệp với phần mở rộng này. Tôi cần kiểm tra xem tập tin đó có tồn tại không, và nếu có, hãy chạy lệnh.Kiểm tra xem thư mục có chứa tập tin có phần mở rộng đã cho không
Tuy nhiên, nó chạy else
nhiều lần vì có nhiều tệp có phần mở rộng thay thế. Nó chỉ phải chạy else
nếu tệp không tồn tại, không phải một lần cho mỗi tệp khác. Mẫu mã của tôi là dưới đây.
Thư mục có cấu trúc như sau:
dir_________________________________________
\ \ \ \
file.false file.false file.true file.false
Khi tôi chạy:
import os
for File in os.listdir("."):
if File.endswith(".true"):
print("true")
else:
print("false")
Đầu ra là:
false
false
true
false
Vấn đề với điều này là nếu tôi đã thay thế print("false")
bằng một cái gì đó hữu ích, nó sẽ chạy nó nhiều lần.
Edit: Tôi hỏi câu hỏi này cách đây 2 năm, và nó vẫn thấy hoạt động rất nhẹ, do đó, tôi muốn để lại điều này ở đây cho người khác: http://book.pythontips.com/en/latest/for_-_else.html#else-clause