Trong chương trình của tôi, nhiều quy trình có thể thử tạo tệp nếu tệp không tồn tại. Bây giờ tôi muốn đảm bảo rằng chỉ một trong các quy trình có thể tạo tệp và phần còn lại nhận được một ngoại lệ nếu nó đã được tạo (loại quy trình an toàn và mở thread an toàn). Làm thế nào tôi có thể đạt được điều này trong python.cách tạo tệp và ném ngoại lệ nếu đã tồn tại
Chỉ cần cho rõ ràng, những gì tôi muốn là tập tin được tạo ra nếu nó không tồn tại. Nhưng nếu nó đã tồn tại rồi ném một ngoại lệ. Và tất cả điều này sẽ xảy ra một cách nguyên tử.
Mã này đạt được chức năng mong muốn. – Adobri
@naxa, Tài liệu về Python 3.3+ ['open (..., 'x')'] (https://docs.python.org/3/library/functions.html#open) không có bất kỳ 'tính khả dụng nào 'thông tin; điều đó thường có nghĩa là nó hỗ trợ tất cả các nền tảng. Trong khi tài liệu về Python 2.x ['os.fdopen'] (https://docs.python.org/2/library/os.html#os.fdopen) đề cập đến tính khả dụng: Unix, Windows. – falsetru
@naxa, Theo [tài liệu: hằng số cờ mở()] (https://docs.python.org/2/library/os.html#open-flag-constants): Các hằng số sau là các tùy chọn cho cờ tham số cho hàm open(). Chúng có thể được kết hợp bằng cách sử dụng toán tử OR bitwise |. Một số người trong số họ không có sẵn trên tất cả các nền tảng. Để biết mô tả về tính khả dụng và sử dụng của chúng, hãy tham khảo trang hướng dẫn mở (2) trên Unix hoặc MSDN trên Windows. – falsetru