Ich schreibe einen Datenverarbeitungscode, in dem ich eine neue Datei erstellen, verarbeitete Daten in diese Datei schreiben und schließen. Die Datei muss jedoch im schreibgeschützten Modus geschlossen werden, damit sie nicht versehentlich geändert wird. Kann dies in Python gemacht werden?Datei in den schreibgeschützten Modus in Python ändern
Antwort
Dazu Sie 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)
verwenden Hinweis, dass dies voraus, dass Sie angemessen haben Berechtigungen, und Sie möchten mehr als nur der Besitzer in der Lage sein, die Datei zu lesen. Entfernen Sie ggf. und S_IRGRP
, wenn dies nicht der Fall ist.
UPDATE
Wenn Sie die Datei beschreibbar erneut vornehmen müssen, rufen Sie einfach os.chmod
wie so:
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
Ganz einfach aufrufen, bevor Sie die Datei zum Schreiben zu öffnen, rufen Sie dann die erste Form um es wieder schreibgeschützt zu machen, nachdem Sie fertig sind.
Ich denke, man os-Modul nach dem Schreiben auf Ihre Datei verwenden können Sie die Dateiberechtigungen wie folgt zu ändern:
import os
filename=open("file_name","w")
filename.write("my text")
filename.close()
os.system("chmod 444 file_name")
Aufruf chmod über 'os.system' ist nicht tragbar, es wird nicht auf Windows funktionieren. Besser ist es, die 'os.chmod' Methode direkt zu benutzen. – aruisdante
- 1. Running Solr im schreibgeschützten Modus
- 2. VIM geöffnete Datei in vertikaler Teilung im schreibgeschützten Modus
- 3. Setzen Sie die gesamte gitlab-Installation in den schreibgeschützten Modus.
- 4. NHibernate Linq im schreibgeschützten Modus
- 5. Hat Sublime Text 2 einen schreibgeschützten Modus?
- 6. sql offene Verbindung im schreibgeschützten Modus
- 7. Openpyxl schließt Excel-Arbeitsmappe nicht im schreibgeschützten Modus
- 8. Öffnen Sie eine Datei in einer Registerkarte in vim im schreibgeschützten Modus
- 9. Excel-Arbeitsblatt im freigegebenen nicht schreibgeschützten schreibgeschützten Modus von C# speichern
- 10. "Modus" läuft nicht in Python 3.5 Subprozess
- 11. Vim Auto-Befehle: Schreiben einer schreibgeschützten Datei?
- 12. Gibt es eine Möglichkeit, git im schreibgeschützten Modus auszuführen?
- 13. SQLite-Datenbankmodus in Lese-Schreib-Modus ändern
- 14. Ändern der schreibgeschützten Eigenschaften mit Reflektion
- 15. Öffnen eines neuen HTML-Fensters im schreibgeschützten Modus
- 16. Hibernate ändern Fetch-Modus in der Laufzeit
- 17. Was ist "Wua" Modus beim Öffnen einer Datei in Python?
- 18. Python Hol Docstring, ohne in den Interaktiven Modus zu wechseln
- 19. Implementieren schreibgeschützten Stil in JavaFX?
- 20. Deaktivierung des bösen Modus für Nav in Emacs? Oder irgendwelche schreibgeschützten Puffer?
- 21. Cython reiner Python-Modus
- 22. Ändern Sie den Mauszeiger in den Busy-Modus, wenn PrimeFaces Ajax Anfrage in Bearbeitung ist
- 23. Wie überprüfe ich, ob ich im schreibgeschützten Modus (-R) in vimrc
- 24. Emacs Python-Modus
- 25. Inhalt einer Datei ändern - Python
- 26. Lese-Schreib-Modus Python
- 27. Wie erzwingeffmpeg in den nicht interaktiven Modus?
- 28. Erzwinge android libgdx in den immersiven Modus
- 29. Ändern Verilog-Modus Einrückung
- 30. Zuordnung zu schreibgeschützten Eigenschaften ist im strikten Modus in [Hintergrund: URL ({{XXX}}) nicht wiederholbar Zentrum
Und wie ändere ich es zu schreiben, wenn ich das Programm ausführen. Ich möchte es ändern, um zu schreiben, wenn das Programm ausgeführt wird, und wenn es beendet wird, sollte es in den schreibgeschützten Modus geändert werden. –
Ah, das haben Sie in der ursprünglichen Frage nicht angegeben. Ich werde aktualisieren – aruisdante