Tôi đang viết mã xử lý dữ liệu, trong đó tôi tạo tệp mới, ghi dữ liệu đã xử lý vào tệp này và đóng. Nhưng tệp phải được đóng ở chế độ chỉ đọc, vì vậy nó sẽ không bị vô tình sửa đổi. Điều này có thể được thực hiện bằng Python?Thay đổi tệp sang chế độ chỉ đọc bằng Python
Trả lời
Đối với điều này bạn sử dụng os.chmod
import os
from stat import S_IREAD, S_IRGRP, S_IROTH
filename = "path/to/file"
os.chmod(filename, S_IREAD|S_IRGRP|S_IROTH)
Lưu ý rằng điều này giả định bạn có phù hợp quyền và bạn muốn nhiều hơn chỉ là chủ sở hữu để có thể đọc tệp. Xóa S_IROTH
và S_IRGRP
nếu thích hợp nếu không phải như vậy.
CẬP NHẬT
Nếu bạn cần phải thực hiện các tập tin có thể ghi một lần nữa, chỉ cần gọi os.chmod
như vậy:
from stat import S_IWUSR # Need to add this import to the ones above
os.chmod(filename, S_IWUSR|S_IREAD) # This makes the file read/write for the owner
Đơn giản chỉ cần gọi đây là trước khi bạn mở tập tin để viết, sau đó gọi các hình thức đầu tiên để chỉ đọc lại sau khi bạn hoàn tất.
Tôi đoán bạn có thể sử dụng mô-đun os sau khi viết trong hồ sơ của bạn để thay đổi quyền tập tin như thế này:
import os
filename=open("file_name","w")
filename.write("my text")
filename.close()
os.system("chmod 444 file_name")
gọi chmod qua 'os.system' không di động, nó sẽ không hoạt động trên cửa sổ. Tốt hơn là sử dụng phương thức 'os.chmod' trực tiếp. – aruisdante
- 1. đọc chế độ ghi python
- 2. NHibernate LINQ ở chế độ chỉ đọc
- 3. Tại sao các tệp đôi khi chuyển sang chế độ chỉ đọc sau khi lưu trong Visual Studio?
- 4. HIbernate InvalidDataAccessApiUsageException - chế độ chỉ đọc
- 5. Chuyển đổi giữa chế độ xem chỉ đọc và chế độ xem chỉnh sửa trong xương sống js
- 6. Sublime Text 2 có chế độ chỉ đọc không?
- 7. Tập tin mở VIM ở chế độ chia dọc ở chế độ chỉ đọc
- 8. Chuyển đổi PDF sang HTML bằng Python
- 9. Đọc tệp BSON bằng Python?
- 10. kết nối mở sql ở chế độ chỉ đọc
- 11. Thay đổi Chế độ Tài liệu IE bằng Javascript?
- 12. Mở tệp ở chế độ chỉ đọc trên các cửa sổ
- 13. thay đổi tốc độ cập nhật bằng gpsd và python
- 14. Tạo chế độ xem chỉ đọc trong Sql Server
- 15. chỉnh sửa mủ trong vim: cách thay đổi văn bản sang chế độ toán học
- 16. Đọc tệp .mat bằng Python. Nhưng hình dạng của dữ liệu đã thay đổi
- 17. Mở sổ ghi chép ipython (* .ipynb) ở chế độ chỉ đọc (như tệp html)
- 18. Đọc tệp Rùa/N3 RDF bằng Python
- 19. Làm thế nào để thay đổi cấu hình Msmq từ chế độ nhóm làm việc sang chế độ tên miền?
- 20. CGAffineTransform thay đổi chế độ xem.bounds?
- 21. chỉ đăng nhập bằng python mức độ cụ thể chỉ
- 22. Đọc các tệp * .wav bằng Python
- 23. Đọc các tệp bmp bằng Python
- 24. Đọc một tệp MIDI bằng Python
- 25. Mở cơ sở dữ liệu sqlite3 từ python ở chế độ chỉ đọc
- 26. Cách tạo trường chỉ đọc trong Chế độ xem
- 27. Chuyển đổi Unicode sang ASCII mà không thay đổi độ dài chuỗi (bằng Java)
- 28. Làm thế nào để thay đổi chế độ từ chế độ C++ 98 trong Dev-C++ sang chế độ hỗ trợ C++ 0x (phạm vi dựa trên)?
- 29. Thay đổi BIO OpenSSL khỏi chặn sang chế độ không chặn
- 30. Đặt VIM để mở tệp ở chế độ "chỉ đọc" theo mặc định?
Và làm thế nào để thay đổi nó để viết khi tôi chạy chương trình. Tôi muốn thay đổi nó để viết khi chương trình chạy và khi nó thoát ra nó nên được thay đổi thành chế độ chỉ đọc. –
Ah, bạn không chỉ định điều đó trong câu hỏi gốc. Tôi sẽ cập nhật – aruisdante