Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python - Bestanden I/O

Vorige paginaVolgende pagina

Dit hoofdstuk behandelt alle basis I/O-functies die beschikbaar zijn in Python. Raadpleeg voor meer functies de standaard Python-documentatie.

Afdrukken naar het scherm

De eenvoudigste manier om uitvoer te produceren is met de print statement waar u nul of meer expressies kunt doorgeven, gescheiden door komma's. Deze functie zet de uitdrukkingen die u doorgeeft om in een tekenreeks en schrijft het resultaat als volgt naar de standaarduitvoer −

Live demo
#!/usr/bin/python

print "Python is really a great language,", "isn't it?"

Dit geeft het volgende resultaat op uw standaardscherm −

Python is really a great language, isn't it?

Invoer via toetsenbord lezen

Python biedt twee ingebouwde functies om een ​​regel tekst te lezen van standaardinvoer, die standaard van het toetsenbord komt. Deze functies zijn −

  • raw_input
  • invoer

De raw_input Functie

De raw_input([prompt]) functie leest één regel uit de standaardinvoer en retourneert deze als een tekenreeks (waarbij de achterste nieuwe regel wordt verwijderd).

#!/usr/bin/python

str = raw_input("Enter your input: ")
print "Received input is : ", str

Dit vraagt ​​u om een ​​willekeurige tekenreeks in te voeren en dezelfde tekenreeks wordt op het scherm weergegeven. Toen ik "Hallo Python!" typte, was de uitvoer als volgt −

Enter your input: Hello Python
Received input is :  Hello Python

De invoer Functie

De invoer([prompt]) functie is gelijk aan raw_input, behalve dat het ervan uitgaat dat de invoer een geldige Python-expressie is en het geëvalueerde resultaat aan u retourneert.

#!/usr/bin/python

str = input("Enter your input: ")
print "Received input is : ", str

Dit zou het volgende resultaat opleveren tegen de ingevoerde invoer −

Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is :  [10, 20, 30, 40]

Bestanden openen en sluiten

Tot nu toe heb je gelezen en geschreven naar de standaard invoer en uitvoer. Nu zullen we zien hoe we echte gegevensbestanden kunnen gebruiken.

Python biedt standaard functies en methoden die nodig zijn om bestanden te manipuleren. U kunt de meeste bestandsmanipulatie uitvoeren met een bestand voorwerp.

De open Functie

Voordat je een bestand kunt lezen of schrijven, moet je het openen met Python's ingebouwde open() functie. Deze functie maakt een bestand object, dat zou worden gebruikt om andere bijbehorende ondersteuningsmethoden aan te roepen.

Syntaxis

file object = open(file_name [, access_mode][, buffering])

Hier zijn parameterdetails −

  • bestandsnaam − Het argument bestandsnaam is een tekenreekswaarde die de naam bevat van het bestand dat u wilt openen.

  • access_mode − De access_mode bepaalt de modus waarin het bestand moet worden geopend, d.w.z. lezen, schrijven, toevoegen, enz. Een volledige lijst met mogelijke waarden vindt u hieronder in de tabel. Dit is een optionele parameter en de standaard bestandstoegangsmodus is lezen (r).

  • bufferen − Als de bufferwaarde op 0 staat, vindt er geen buffering plaats. Als de bufferwaarde 1 is, wordt lijnbuffering uitgevoerd tijdens het openen van een bestand. Als u de bufferwaarde opgeeft als een geheel getal groter dan 1, wordt de bufferactie uitgevoerd met de aangegeven buffergrootte. Indien negatief, is de buffergrootte de systeemstandaard (standaardgedrag).

Hier is een lijst met de verschillende manieren om een ​​bestand te openen −

Sr.nr. Modiën en beschrijving
1

r

Opent een bestand om alleen te lezen. De bestandsaanwijzer wordt aan het begin van het bestand geplaatst. Dit is de standaardmodus.

2

rb

Opent een bestand om alleen in binair formaat te lezen. De bestandsaanwijzer wordt aan het begin van het bestand geplaatst. Dit is de standaardmodus.

3

r+

Opent een bestand voor zowel lezen als schrijven. De bestandsaanwijzer aan het begin van het bestand.

4

rb+

Opent een bestand voor zowel lezen als schrijven in binair formaat. De bestandsaanwijzer aan het begin van het bestand.

5

met

Opent een bestand om alleen te schrijven. Overschrijft het bestand als het bestand bestaat. Als het bestand niet bestaat, maakt u een nieuw bestand om te schrijven.

6

wb

Opent een bestand om alleen in binair formaat te schrijven. Overschrijft het bestand als het bestand bestaat. Als het bestand niet bestaat, maakt u een nieuw bestand om te schrijven.

7

w+

Opent een bestand voor zowel schrijven als lezen. Overschrijft het bestaande bestand als het bestand bestaat. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt voor lezen en schrijven.

8

wb+

Opent een bestand voor zowel schrijven als lezen in binair formaat. Overschrijft het bestaande bestand als het bestand bestaat. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt voor lezen en schrijven.

9

een

Opent een bestand om toe te voegen. De bestandsaanwijzer staat aan het einde van het bestand als het bestand bestaat. Dat wil zeggen, het bestand bevindt zich in de toevoegmodus. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt om te schrijven.

10

ab

Opent een bestand om in binair formaat toe te voegen. De bestandsaanwijzer staat aan het einde van het bestand als het bestand bestaat. Dat wil zeggen, het bestand bevindt zich in de toevoegmodus. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt om te schrijven.

11

een+

Opent een bestand voor zowel toevoegen als lezen. De bestandsaanwijzer staat aan het einde van het bestand als het bestand bestaat. Het bestand wordt geopend in de toevoegmodus. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt om te lezen en te schrijven.

12

ab+

Opent een bestand voor zowel toevoegen als lezen in binair formaat. De bestandsaanwijzer staat aan het einde van het bestand als het bestand bestaat. Het bestand wordt geopend in de toevoegmodus. Als het bestand niet bestaat, wordt een nieuw bestand gemaakt om te lezen en te schrijven.

Het bestand Objectkenmerken

Zodra een bestand is geopend en je hebt één bestand object, kunt u verschillende informatie over dat bestand krijgen.

Hier is een lijst van alle attributen gerelateerd aan bestandsobject −

Sr.nr. Kenmerk en beschrijving
1

bestand.gesloten

Retourneert waar als het bestand is gesloten, anders onwaar.

2

file.mode

Geeft de toegangsmodus terug waarmee het bestand is geopend.

3

bestandsnaam

Geeft de naam van het bestand terug.

4

file.softspace

Retourneert false als er expliciet ruimte is vereist bij print, anders true.

Voorbeeld

Live demo
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace

Dit levert het volgende resultaat op −

Name of the file:  foo.txt
Closed or not :  False
Opening mode :  wb
Softspace flag :  0

De close() Methode

De methode close() van een bestand object wist alle ongeschreven informatie en sluit het bestandsobject, waarna er niet meer geschreven kan worden.

Python sluit automatisch een bestand wanneer het referentieobject van een bestand opnieuw wordt toegewezen aan een ander bestand. Het is een goede gewoonte om de methode close() te gebruiken om een ​​bestand te sluiten.

Syntaxis

fileObject.close()

Voorbeeld

Live demo
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name

# Close opend file
fo.close()

Dit levert het volgende resultaat op −

Name of the file:  foo.txt

Bestanden lezen en schrijven

Het bestand object biedt een reeks toegangsmethoden om ons leven gemakkelijker te maken. We zouden zien hoe we read() . moeten gebruiken en schrijf() methoden om bestanden te lezen en te schrijven.

De write() Methode

De write() methode schrijft elke string naar een open bestand. Het is belangrijk op te merken dat Python-strings binaire gegevens kunnen hebben en niet alleen tekst.

De methode write() voegt geen teken voor een nieuwe regel ('\n') toe aan het einde van de tekenreeks −

Syntaxis

fileObject.write(string)

Hier is de doorgegeven parameter de inhoud die in het geopende bestand moet worden geschreven.

Voorbeeld

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n")

# Close opend file
fo.close()

De bovenstaande methode zou foo.txt . creëren bestand en zou bepaalde inhoud in dat bestand schrijven en uiteindelijk zou het dat bestand sluiten. Als u dit bestand zou openen, zou het de volgende inhoud hebben.

Python is a great language.
Yeah its great!!

De read() Methode

De read() methode leest een string uit een open bestand. Het is belangrijk op te merken dat Python-strings binaire gegevens kunnen hebben. behalve tekstgegevens.

Syntaxis

fileObject.read([count])

Hier is de doorgegeven parameter het aantal bytes dat moet worden gelezen uit het geopende bestand. Deze methode begint met lezen vanaf het begin van het bestand en als count ontbreekt, dan probeert het zoveel mogelijk te lezen, misschien tot het einde van het bestand.

Voorbeeld

Laten we een bestand foo.txt . nemen , die we hierboven hebben gemaakt.

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()

Dit levert het volgende resultaat op −

Read String is :  Python is

Bestandsposities

De tel() methode vertelt u de huidige positie in het bestand; met andere woorden, het volgende lezen of schrijven zal plaatsvinden op zoveel bytes vanaf het begin van het bestand.

De seek(offset[, from]) methode verandert de huidige bestandspositie. De offset argument geeft het aantal te verplaatsen bytes aan. De van argument specificeert de referentiepositie van waaruit de bytes moeten worden verplaatst.

Als van is ingesteld op 0, betekent dit dat u het begin van het bestand als referentiepositie moet gebruiken en 1 betekent dat u de huidige positie als referentiepositie moet gebruiken en als deze is ingesteld op 2, wordt het einde van het bestand als referentiepositie genomen.

Voorbeeld

Laten we een bestand foo.txt . nemen , die we hierboven hebben gemaakt.

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str

# Check current position
position = fo.tell()
print "Current file position : ", position

# Reposition pointer at the beginning once again
position = fo.seek(0, 0);
str = fo.read(10)
print "Again read String is : ", str
# Close opend file
fo.close()

Dit levert het volgende resultaat op −

Read String is :  Python is
Current file position :  10
Again read String is :  Python is

Bestanden hernoemen en verwijderen

Python os module biedt methoden die u helpen bij het uitvoeren van bestandsverwerkingsbewerkingen, zoals het hernoemen en verwijderen van bestanden.

Om deze module te gebruiken, moet u deze eerst importeren en daarna kunt u alle gerelateerde functies oproepen.

De rename()-methode

De rename() methode heeft twee argumenten, de huidige bestandsnaam en de nieuwe bestandsnaam.

Syntaxis

os.rename(current_file_name, new_file_name)

Voorbeeld

Hieronder volgt het voorbeeld om een ​​bestaand bestand te hernoemen test1.txt

#!/usr/bin/python
import os

# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )

De verwijder() Methode

U kunt de remove() . gebruiken methode om bestanden te verwijderen door de naam van het te verwijderen bestand als argument op te geven.

Syntaxis

os.remove(file_name)

Voorbeeld

Hieronder volgt het voorbeeld om een ​​bestaand bestand test2.txt . te verwijderen

#!/usr/bin/python
import os

# Delete file test2.txt
os.remove("text2.txt")

Mappen in Python

Alle bestanden bevinden zich in verschillende mappen en Python heeft er ook geen probleem mee om deze te verwerken. De o's module heeft verschillende methoden die u helpen bij het maken, verwijderen en wijzigen van mappen.

De mkdir() Methode

U kunt de mkdir() . gebruiken methode van de os module om mappen in de huidige map te maken. U moet aan deze methode een argument toevoegen dat de naam van de aan te maken directory bevat.

Syntaxis

os.mkdir("newdir")

Voorbeeld

Hieronder volgt het voorbeeld om een ​​directory test aan te maken in de huidige map −

#!/usr/bin/python
import os

# Create a directory "test"
os.mkdir("test")

De chdir() Methode

U kunt de chdir() . gebruiken methode om de huidige map te wijzigen. De methode chdir() neemt een argument aan, wat de naam is van de map waarvan u de huidige map wilt maken.

Syntaxis

os.chdir("newdir")

Voorbeeld

Hieronder volgt het voorbeeld om naar de map "/home/newdir" te gaan −

#!/usr/bin/python
import os

# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")

De getcwd() Methode

De getcwd() methode geeft de huidige werkmap weer.

Syntaxis

os.getcwd()

Voorbeeld

Hieronder volgt het voorbeeld om de huidige map te geven −

#!/usr/bin/python
import os

# This would give location of the current directory
os.getcwd()

De rmdir() Methode

De rmdir() methode verwijdert de map, die als argument in de methode wordt doorgegeven.

Voordat u een map verwijdert, moet alle inhoud erin worden verwijderd.

Syntaxis

os.rmdir('dirname')

Voorbeeld

Hieronder volgt het voorbeeld om de map "/tmp/test" te verwijderen. Het is vereist om de volledige naam van de directory op te geven, anders zou het naar die directory in de huidige directory zoeken.

#!/usr/bin/python
import os

# This would  remove "/tmp/test"  directory.
os.rmdir( "/tmp/test"  )

Bestands- en mapgerelateerde methoden

Er zijn drie belangrijke bronnen die een breed scala aan hulpprogramma's bieden voor het verwerken en manipuleren van bestanden en mappen op Windows- en Unix-besturingssystemen. Ze zijn als volgt −

  • Bestandsobjectmethoden:het bestand object biedt functies om bestanden te manipuleren.

  • OS-objectmethoden:dit biedt methoden om zowel bestanden als mappen te verwerken.


Python

  1. C Ingang Uitgang (I/O)
  2. C Bestandsverwerking
  3. Python invoer, uitvoer en import
  4. Python-bestand I/O
  5. Python-directory en bestandsbeheer
  6. Python controleren of bestand bestaat | Hoe te controleren of er een directory bestaat in Python
  7. C - Bestand I/O
  8. C - Koptekstbestanden
  9. C++-bestanden en -streams
  10. C# - Bestand I/O
  11. Wat is een Mill-bestand?