2015-09-21 15 views
7

Tôi muốn tạo ra một tập tin mới bằng Python cho rằng tôi đang sử dụng mknod lệnh, nhưng nhận được lỗi như:Python module 'os' không có thuộc tính 'mknod'

os.mknod(); 
AttributeError: module 'os' has no attribute 'mknod' 

Tôi đang sử dụng các cửa sổ và các thuộc tính khác hơn 'mknod' đang hoạt động.

+2

In 'os .__ file__' – vaultah

+1

Để mở rộng nhận xét vaultahs: Bạn có thể có tệp riêng có tên là' os.py' làm đổ bóng gói dựng sẵn. – Matthias

+0

Hmm - dự đoán - bạn có đang sử dụng Windows ... không? Khi bạn đang nói về các cuộc gọi 'os', Hệ điều hành mà bạn đang làm việc là thông tin cần thiết ... –

Trả lời

3

os cung cấp chức năng liên quan chặt chẽ đến hệ điều hành bạn đang sử dụng. Nếu hầu hết các thuộc tính khác có thể được truy cập từ os (nghĩa là bạn chưa có tệp os.py trong thư mục hiện tại che giấu mô-đun chuẩn), thì AttributeError sẽ 99% báo hiệu chức năng không được hỗ trợ trên Hệ điều hành của bạn.

Đây là trường hợp với os.mknod trên Windows. Tạo đường ống có tên trong số Windows có, theo như tôi có thể hiểu, very different semantics.

Dù bằng cách nào, nếu bạn đang cố gắng sử dụng mknod để tạo các đường ống có tên, bạn có thể sử dụng tốt hơn mkfifo() (một lần nữa, chỉ hỗ trợ Unix). Nếu bạn đang sử dụng nó để tạo các tập tin thông thường, đừng sử dụng open().

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