2016-02-16 13 views
6

Tôi đang sử dụng mô-đun python2.x khai thác gỗ, như,Có cách nào để ghi đè lên file log trong python 2.x

logging.basicConfig(format='%(asctime)s %(message)s', 
       datefmt='%m/%d/%Y %I:%M:%S %p', 
       filename='logs.log', 
       level=logging.INFO) 

Tôi muốn chương trình của tôi để ghi đè lên tập tin logs.log cho mỗi thực hiện các kịch bản, hiện tại nó chỉ thêm vào nhật ký cũ. Tôi biết mã dưới đây sẽ ghi đè lên, nhưng nếu có cách để thực hiện nó thông qua cấu hình ghi nhật ký, nó sẽ trông đẹp hơn.

with open("logs.log", 'w') as file: 
    pass 

Trả lời

9

Thêm filemode tùy chọn để basicConfig:

logging.basicConfig(format='%(asctime)s %(message)s', 
       datefmt='%m/%d/%Y %I:%M:%S %p', 
       filename='logs.log', 
       filemode='w', 
       level=logging.INFO) 

Từ các tài liệu logging cho phương pháp basicConfig (trong bảng lớn giải thích tất cả tùy chọn):

filemode: Chỉ định chế độ để mở tệp, nếu tên tệp được chỉ định (nếu filemode không được chỉ định, nó sẽ mặc định là 'a').

Các vấn đề liên quan