1654073114
Leer y escribir archivos es una operación común cuando se trabaja con cualquier lenguaje de programación. Puede programar su código para leer datos o instrucciones de un archivo y luego escribir los datos también. Esto aumenta la eficiencia y reduce el esfuerzo manual.
Python tiene una metodología bien definida para abrir, leer y escribir archivos. Algunas aplicaciones para la manipulación de archivos en Python incluyen: lectura de datos para entrenamiento y prueba de algoritmos, lectura de archivos para crear arte generativo, creación de informes y lectura de archivos de configuración.
En este tutorial aprenderás:
Requisitos previos:
Para obtener acceso rápido al IDE de Python, consulte Replit . También puede clonar este repositorio y ejecutarlo en Replit.
Los archivos residen en la memoria secundaria de la computadora. La memoria secundaria es persistente, lo que significa que los datos no se borran cuando se apaga la computadora. Una vez que realiza cambios en un archivo y lo guarda, los cambios se escriben y guardan permanentemente en la memoria secundaria.
Para trabajar con archivos, primero debemos cargarlos en la memoria principal. La memoria principal es la memoria caché temporal que contiene los datos solicitados durante un breve intervalo. Los datos se pierden cuando se apaga la computadora.
Los archivos se cargan desde la memoria secundaria a la memoria principal y luego son procesados por la CPU. Una vez que se realiza el procesamiento, los datos se vuelven a escribir en la memoria secundaria.
Python interactúa con los archivos cargados en la memoria principal a través de " controladores de archivos ". Veamos los controladores de archivos en detalle.
Cuando queremos leer o escribir un archivo, primero debemos abrirlo . Abrir un archivo indica al sistema operativo que busque el archivo por su nombre y se asegure de que existe.
El sistema operativo devuelve un controlador de archivos si la apertura se realiza correctamente. Luego podemos interactuar con nuestro archivo a través del controlador de archivos.
El controlador de archivos no contiene los datos en sí, solo proporciona una interfaz para manejar las operaciones del archivo.
Un controlador de archivos le proporciona a su programa acceso a los datos en la memoria secundaria.
En este ejemplo, abriremos el archivo daffodils.txt
. Tenga en cuenta que este archivo debe almacenarse en la misma carpeta que su programa Python. Puede descargar el archivo daffodils.txt
desde este enlace de GitHub.
Eche un vistazo al archivo, ya que trabajaremos con su contenido en nuestros próximos ejemplos.
Ejemplo:
fhand = open('daffodils.txt')
print(fhand)
En el ejemplo anterior, el sistema operativo devolverá el identificador del archivo en la variable fhand
si la apertura se realiza correctamente. De forma predeterminada, solo puede leer el archivo.
Producción:
La salida de un identificador de archivo.
En la salida, hemos recibido un identificador de archivo donde name
está el nombre del archivo y mode
el permiso que es r
(significa read
) en nuestro caso. encoding
es el mecanismo de codificación para el conjunto de caracteres Unicode. Puede conocer más detalles sobre UTF-8 aquí .
Excepción:
En caso de que el archivo no exista, obtenemos una excepción como esta:
Excepción cuando no se encuentra el archivo.
Ahora tenemos el identificador de archivo, lo que significa que podemos acceder al archivo. Imprimamos el archivo y veamos su contenido.
Ejemplo:
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line via file handler
for line in fhand:
print(line)
Producción:
Imprimir el contenido de un archivo.
Podemos acceder e imprimir el archivo con éxito. Pero, ¿se dio cuenta de que estamos obteniendo líneas en blanco adicionales entre cada línea? Hay una explicación para esto. Veamos en la siguiente sección.
El carácter de nueva línea está representado en Python por \n
. Este carácter agrega una nueva línea cuando se coloca en cualquier lugar de una cadena.
Hay un carácter de nueva línea al final de cada línea que imprime la salida a la siguiente línea. Podemos visualizarlo usando el repr
método.
Según la documentación de Python , el repr()
método devuelve una cadena que contiene una representación imprimible de un objeto. Esto significa que podemos ver cualquier carácter especial como a \t or a \n
que aparece en una cadena.
Ejecutemos un ejemplo a continuación y veamos el resultado.
Representación de cadenas usando
repr()
.
Ejemplo:
Volviendo a nuestro archivo, podemos usar repr()
para verificar los caracteres especiales.
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line via file handler
for line in fhand:
print(line)
Producción:
Aquí podemos ver lo que está pasando detrás de escena.
Además, el método de impresión agrega una nueva línea de forma predeterminada. Esto significa que al usar print, obtenemos otra línea nueva en la salida. Podemos manejar esta línea extra usando dos enfoques.
El siguiente fragmento muestra los argumentos de la print
función. Podemos ver que por defecto el valor de end
es \n
. Esto significa que cada declaración de impresión terminará con un \n
.
Fuente: Documentación de Python .
Podemos cambiar el valor predeterminado end='\n'
a un espacio en blanco para que no obtengamos una nueva línea al final de cada línea. Veamos el siguiente ejemplo para entender mejor.
# By default output would go in separate lines
print("Hello")
print("World")
# Print on the same line because end = ' '
# added single space
print("Hello", end = ' ')
print("World")
Producción:
Imprima en líneas iguales y diferentes usando
print()
.
Volviendo a nuestro archivo principal, modifiquemos un poco el código para obtener el resultado sin líneas en blanco adicionales.
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line and modify the default value of 'end'
for line in fhand:
print(line, end = '')
Producción:
¡Y aquí tenemos nuestro resultado deseado!
Imprima sin líneas adicionales usando
print()
.
Podemos eliminar ciertos caracteres alrededor de una cadena usando el strip()
método.
Por ahora sabemos que por defecto, cada línea en un archivo tiene "\n"
al final. Como solo nos interesa el carácter de la derecha, usaremos rstrip()
which significa right-strip. Discutiremos un ejemplo de lo rstrip()
siguiente.
Puede obtener más información sobre el strip()
método en esta publicación de blog .
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line and remove extra line character with rstrip()
for line in fhand:
line = line.rstrip()
print(line)
Producción:
Imprima sin líneas adicionales usando rstrip
()
.
En lugar de codificar un nombre de archivo, podemos hacer que el código sea dinámico al permitir que el usuario elija un archivo.
Pidamos al usuario que ingrese un nombre de archivo. Luego calcularemos el número de líneas en el archivo.
Ejemplo:
fname = input('Enter the file name: ')
fhand = open(fname)
count = 0
for line in fhand:
count = count + 1
print('There are', count, 'lines in', fname)
Pida al usuario que introduzca un nombre de archivo.
Producción:
Solicite al usuario que ingrese el nombre del archivo.
De forma predeterminada, el controlador de archivos abre un archivo en el modo de lectura. Podemos escribir en un archivo si abrimos el archivo con cualquiera de los siguientes modos:
w
- (Escribir) escribe en un archivo existente pero borra el contenido existente.a
- (Anexar) se agrega a un archivo existente.x
- (Crear) crea un archivo y devuelve un error si el archivo existe.Tenga en cuenta que, si intentamos abrir un archivo ya existente con w
bandera, los contenidos se sobrescriben.
# Open file with mode 'w'
fout = open('flower.txt', 'x')
fout.write("This content would be added and existing would be discarded")
fout.close()
La a
marca se agrega al contenido existente y conserva el contenido existente.
# Open file with mode 'a'
fout = open('flower.txt', 'a')
fout.write("Now the file has more content at the end!")
fout.close()
El x
modo crea un archivo y le agrega contenido.
# Open file with mode 'x'
fout = open('new-file.txt', 'x')
fout.write("Now the new file has some content!")
fout.close()
Si el archivo existe, obtendremos una excepción como esta:
Traceback (most recent call last):
File "main.py", line 2, in <module>
fout = open('flower.txt', 'x')
FileExistsError: [Errno 17] File exists: 'flower.txt'
Es posible que el archivo que solicitamos no exista. Esto explota el programa debido a la excepción:
Para que el programa sea más fácil de usar, podemos manejar esta excepción en un try-except
bloque.
La parte arriesgada del programa que se espera que explote está escrita en un try
bloque. En caso de que el código se ejecute sin excepción, el except
bloque se omite y el programa continúa ejecutándose. En caso de que se encuentre una excepción, el except
bloque se ejecuta y cierra el programa correctamente con el exit
comando.
fname = input('Enter the file name: ')
try:
fhand = open(fname)
except:
print('File nout found and can not be opened:', fname)
exit()
count=0
for line in fhand:
count = count + 1
print('There are', count, 'lines in', fname)
Producción:
Manejo de excepciones usando un bloque try-except.
Saber trabajar con archivos es un concepto esencial en la programación. En este tutorial, aprendió cómo abrir archivos para leer y escribir en Python usando controladores de archivos.
Como referencia, he incluido todos los fragmentos de código y archivos de muestra en este repositorio de GitHub.
Espero que hayas encontrado útil este tutorial.
Fuente del artículo original en: https://www.freecodecamp.org/news/how-to-read-files-in-python/
1626775355
No programming language is pretty much as diverse as Python. It enables building cutting edge applications effortlessly. Developers are as yet investigating the full capability of end-to-end Python development services in various areas.
By areas, we mean FinTech, HealthTech, InsureTech, Cybersecurity, and that's just the beginning. These are New Economy areas, and Python has the ability to serve every one of them. The vast majority of them require massive computational abilities. Python's code is dynamic and powerful - equipped for taking care of the heavy traffic and substantial algorithmic capacities.
Programming advancement is multidimensional today. Endeavor programming requires an intelligent application with AI and ML capacities. Shopper based applications require information examination to convey a superior client experience. Netflix, Trello, and Amazon are genuine instances of such applications. Python assists with building them effortlessly.
Python can do such numerous things that developers can't discover enough reasons to admire it. Python application development isn't restricted to web and enterprise applications. It is exceptionally adaptable and superb for a wide range of uses.
Robust frameworks
Python is known for its tools and frameworks. There's a structure for everything. Django is helpful for building web applications, venture applications, logical applications, and mathematical processing. Flask is another web improvement framework with no conditions.
Web2Py, CherryPy, and Falcon offer incredible capabilities to customize Python development services. A large portion of them are open-source frameworks that allow quick turn of events.
Simple to read and compose
Python has an improved sentence structure - one that is like the English language. New engineers for Python can undoubtedly understand where they stand in the development process. The simplicity of composing allows quick application building.
The motivation behind building Python, as said by its maker Guido Van Rossum, was to empower even beginner engineers to comprehend the programming language. The simple coding likewise permits developers to roll out speedy improvements without getting confused by pointless subtleties.
Utilized by the best
Alright - Python isn't simply one more programming language. It should have something, which is the reason the business giants use it. Furthermore, that too for different purposes. Developers at Google use Python to assemble framework organization systems, parallel information pusher, code audit, testing and QA, and substantially more. Netflix utilizes Python web development services for its recommendation algorithm and media player.
Massive community support
Python has a steadily developing community that offers enormous help. From amateurs to specialists, there's everybody. There are a lot of instructional exercises, documentation, and guides accessible for Python web development solutions.
Today, numerous universities start with Python, adding to the quantity of individuals in the community. Frequently, Python designers team up on various tasks and help each other with algorithmic, utilitarian, and application critical thinking.
Progressive applications
Python is the greatest supporter of data science, Machine Learning, and Artificial Intelligence at any enterprise software development company. Its utilization cases in cutting edge applications are the most compelling motivation for its prosperity. Python is the second most well known tool after R for data analytics.
The simplicity of getting sorted out, overseeing, and visualizing information through unique libraries makes it ideal for data based applications. TensorFlow for neural networks and OpenCV for computer vision are two of Python's most well known use cases for Machine learning applications.
Thinking about the advances in programming and innovation, Python is a YES for an assorted scope of utilizations. Game development, web application development services, GUI advancement, ML and AI improvement, Enterprise and customer applications - every one of them uses Python to its full potential.
The disadvantages of Python web improvement arrangements are regularly disregarded by developers and organizations because of the advantages it gives. They focus on quality over speed and performance over blunders. That is the reason it's a good idea to utilize Python for building the applications of the future.
#python development services #python development company #python app development #python development #python in web development #python software development
1602968400
Python is awesome, it’s one of the easiest languages with simple and intuitive syntax but wait, have you ever thought that there might ways to write your python code simpler?
In this tutorial, you’re going to learn a variety of Python tricks that you can use to write your Python code in a more readable and efficient way like a pro.
Swapping value in Python
Instead of creating a temporary variable to hold the value of the one while swapping, you can do this instead
>>> FirstName = "kalebu"
>>> LastName = "Jordan"
>>> FirstName, LastName = LastName, FirstName
>>> print(FirstName, LastName)
('Jordan', 'kalebu')
#python #python-programming #python3 #python-tutorials #learn-python #python-tips #python-skills #python-development
1602666000
Today you’re going to learn how to use Python programming in a way that can ultimately save a lot of space on your drive by removing all the duplicates.
In many situations you may find yourself having duplicates files on your disk and but when it comes to tracking and checking them manually it can tedious.
Heres a solution
Instead of tracking throughout your disk to see if there is a duplicate, you can automate the process using coding, by writing a program to recursively track through the disk and remove all the found duplicates and that’s what this article is about.
But How do we do it?
If we were to read the whole file and then compare it to the rest of the files recursively through the given directory it will take a very long time, then how do we do it?
The answer is hashing, with hashing can generate a given string of letters and numbers which act as the identity of a given file and if we find any other file with the same identity we gonna delete it.
There’s a variety of hashing algorithms out there such as
#python-programming #python-tutorials #learn-python #python-project #python3 #python #python-skills #python-tips
1597751700
Magic Methods are the special methods which gives us the ability to access built in syntactical features such as ‘<’, ‘>’, ‘==’, ‘+’ etc…
You must have worked with such methods without knowing them to be as magic methods. Magic methods can be identified with their names which start with __ and ends with __ like init, call, str etc. These methods are also called Dunder Methods, because of their name starting and ending with Double Underscore (Dunder).
Now there are a number of such special methods, which you might have come across too, in Python. We will just be taking an example of a few of them to understand how they work and how we can use them.
class AnyClass:
def __init__():
print("Init called on its own")
obj = AnyClass()
The first example is _init, _and as the name suggests, it is used for initializing objects. Init method is called on its own, ie. whenever an object is created for the class, the init method is called on its own.
The output of the above code will be given below. Note how we did not call the init method and it got invoked as we created an object for class AnyClass.
Init called on its own
Let’s move to some other example, add gives us the ability to access the built in syntax feature of the character +. Let’s see how,
class AnyClass:
def __init__(self, var):
self.some_var = var
def __add__(self, other_obj):
print("Calling the add method")
return self.some_var + other_obj.some_var
obj1 = AnyClass(5)
obj2 = AnyClass(6)
obj1 + obj2
#python3 #python #python-programming #python-web-development #python-tutorials #python-top-story #python-tips #learn-python
1654073114
Leer y escribir archivos es una operación común cuando se trabaja con cualquier lenguaje de programación. Puede programar su código para leer datos o instrucciones de un archivo y luego escribir los datos también. Esto aumenta la eficiencia y reduce el esfuerzo manual.
Python tiene una metodología bien definida para abrir, leer y escribir archivos. Algunas aplicaciones para la manipulación de archivos en Python incluyen: lectura de datos para entrenamiento y prueba de algoritmos, lectura de archivos para crear arte generativo, creación de informes y lectura de archivos de configuración.
En este tutorial aprenderás:
Requisitos previos:
Para obtener acceso rápido al IDE de Python, consulte Replit . También puede clonar este repositorio y ejecutarlo en Replit.
Los archivos residen en la memoria secundaria de la computadora. La memoria secundaria es persistente, lo que significa que los datos no se borran cuando se apaga la computadora. Una vez que realiza cambios en un archivo y lo guarda, los cambios se escriben y guardan permanentemente en la memoria secundaria.
Para trabajar con archivos, primero debemos cargarlos en la memoria principal. La memoria principal es la memoria caché temporal que contiene los datos solicitados durante un breve intervalo. Los datos se pierden cuando se apaga la computadora.
Los archivos se cargan desde la memoria secundaria a la memoria principal y luego son procesados por la CPU. Una vez que se realiza el procesamiento, los datos se vuelven a escribir en la memoria secundaria.
Python interactúa con los archivos cargados en la memoria principal a través de " controladores de archivos ". Veamos los controladores de archivos en detalle.
Cuando queremos leer o escribir un archivo, primero debemos abrirlo . Abrir un archivo indica al sistema operativo que busque el archivo por su nombre y se asegure de que existe.
El sistema operativo devuelve un controlador de archivos si la apertura se realiza correctamente. Luego podemos interactuar con nuestro archivo a través del controlador de archivos.
El controlador de archivos no contiene los datos en sí, solo proporciona una interfaz para manejar las operaciones del archivo.
Un controlador de archivos le proporciona a su programa acceso a los datos en la memoria secundaria.
En este ejemplo, abriremos el archivo daffodils.txt
. Tenga en cuenta que este archivo debe almacenarse en la misma carpeta que su programa Python. Puede descargar el archivo daffodils.txt
desde este enlace de GitHub.
Eche un vistazo al archivo, ya que trabajaremos con su contenido en nuestros próximos ejemplos.
Ejemplo:
fhand = open('daffodils.txt')
print(fhand)
En el ejemplo anterior, el sistema operativo devolverá el identificador del archivo en la variable fhand
si la apertura se realiza correctamente. De forma predeterminada, solo puede leer el archivo.
Producción:
La salida de un identificador de archivo.
En la salida, hemos recibido un identificador de archivo donde name
está el nombre del archivo y mode
el permiso que es r
(significa read
) en nuestro caso. encoding
es el mecanismo de codificación para el conjunto de caracteres Unicode. Puede conocer más detalles sobre UTF-8 aquí .
Excepción:
En caso de que el archivo no exista, obtenemos una excepción como esta:
Excepción cuando no se encuentra el archivo.
Ahora tenemos el identificador de archivo, lo que significa que podemos acceder al archivo. Imprimamos el archivo y veamos su contenido.
Ejemplo:
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line via file handler
for line in fhand:
print(line)
Producción:
Imprimir el contenido de un archivo.
Podemos acceder e imprimir el archivo con éxito. Pero, ¿se dio cuenta de que estamos obteniendo líneas en blanco adicionales entre cada línea? Hay una explicación para esto. Veamos en la siguiente sección.
El carácter de nueva línea está representado en Python por \n
. Este carácter agrega una nueva línea cuando se coloca en cualquier lugar de una cadena.
Hay un carácter de nueva línea al final de cada línea que imprime la salida a la siguiente línea. Podemos visualizarlo usando el repr
método.
Según la documentación de Python , el repr()
método devuelve una cadena que contiene una representación imprimible de un objeto. Esto significa que podemos ver cualquier carácter especial como a \t or a \n
que aparece en una cadena.
Ejecutemos un ejemplo a continuación y veamos el resultado.
Representación de cadenas usando
repr()
.
Ejemplo:
Volviendo a nuestro archivo, podemos usar repr()
para verificar los caracteres especiales.
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line via file handler
for line in fhand:
print(line)
Producción:
Aquí podemos ver lo que está pasando detrás de escena.
Además, el método de impresión agrega una nueva línea de forma predeterminada. Esto significa que al usar print, obtenemos otra línea nueva en la salida. Podemos manejar esta línea extra usando dos enfoques.
El siguiente fragmento muestra los argumentos de la print
función. Podemos ver que por defecto el valor de end
es \n
. Esto significa que cada declaración de impresión terminará con un \n
.
Fuente: Documentación de Python .
Podemos cambiar el valor predeterminado end='\n'
a un espacio en blanco para que no obtengamos una nueva línea al final de cada línea. Veamos el siguiente ejemplo para entender mejor.
# By default output would go in separate lines
print("Hello")
print("World")
# Print on the same line because end = ' '
# added single space
print("Hello", end = ' ')
print("World")
Producción:
Imprima en líneas iguales y diferentes usando
print()
.
Volviendo a nuestro archivo principal, modifiquemos un poco el código para obtener el resultado sin líneas en blanco adicionales.
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line and modify the default value of 'end'
for line in fhand:
print(line, end = '')
Producción:
¡Y aquí tenemos nuestro resultado deseado!
Imprima sin líneas adicionales usando
print()
.
Podemos eliminar ciertos caracteres alrededor de una cadena usando el strip()
método.
Por ahora sabemos que por defecto, cada línea en un archivo tiene "\n"
al final. Como solo nos interesa el carácter de la derecha, usaremos rstrip()
which significa right-strip. Discutiremos un ejemplo de lo rstrip()
siguiente.
Puede obtener más información sobre el strip()
método en esta publicación de blog .
# Get the file handler
fhand = open('daffodils.txt')
# Loop through each line and remove extra line character with rstrip()
for line in fhand:
line = line.rstrip()
print(line)
Producción:
Imprima sin líneas adicionales usando rstrip
()
.
En lugar de codificar un nombre de archivo, podemos hacer que el código sea dinámico al permitir que el usuario elija un archivo.
Pidamos al usuario que ingrese un nombre de archivo. Luego calcularemos el número de líneas en el archivo.
Ejemplo:
fname = input('Enter the file name: ')
fhand = open(fname)
count = 0
for line in fhand:
count = count + 1
print('There are', count, 'lines in', fname)
Pida al usuario que introduzca un nombre de archivo.
Producción:
Solicite al usuario que ingrese el nombre del archivo.
De forma predeterminada, el controlador de archivos abre un archivo en el modo de lectura. Podemos escribir en un archivo si abrimos el archivo con cualquiera de los siguientes modos:
w
- (Escribir) escribe en un archivo existente pero borra el contenido existente.a
- (Anexar) se agrega a un archivo existente.x
- (Crear) crea un archivo y devuelve un error si el archivo existe.Tenga en cuenta que, si intentamos abrir un archivo ya existente con w
bandera, los contenidos se sobrescriben.
# Open file with mode 'w'
fout = open('flower.txt', 'x')
fout.write("This content would be added and existing would be discarded")
fout.close()
La a
marca se agrega al contenido existente y conserva el contenido existente.
# Open file with mode 'a'
fout = open('flower.txt', 'a')
fout.write("Now the file has more content at the end!")
fout.close()
El x
modo crea un archivo y le agrega contenido.
# Open file with mode 'x'
fout = open('new-file.txt', 'x')
fout.write("Now the new file has some content!")
fout.close()
Si el archivo existe, obtendremos una excepción como esta:
Traceback (most recent call last):
File "main.py", line 2, in <module>
fout = open('flower.txt', 'x')
FileExistsError: [Errno 17] File exists: 'flower.txt'
Es posible que el archivo que solicitamos no exista. Esto explota el programa debido a la excepción:
Para que el programa sea más fácil de usar, podemos manejar esta excepción en un try-except
bloque.
La parte arriesgada del programa que se espera que explote está escrita en un try
bloque. En caso de que el código se ejecute sin excepción, el except
bloque se omite y el programa continúa ejecutándose. En caso de que se encuentre una excepción, el except
bloque se ejecuta y cierra el programa correctamente con el exit
comando.
fname = input('Enter the file name: ')
try:
fhand = open(fname)
except:
print('File nout found and can not be opened:', fname)
exit()
count=0
for line in fhand:
count = count + 1
print('There are', count, 'lines in', fname)
Producción:
Manejo de excepciones usando un bloque try-except.
Saber trabajar con archivos es un concepto esencial en la programación. En este tutorial, aprendió cómo abrir archivos para leer y escribir en Python usando controladores de archivos.
Como referencia, he incluido todos los fragmentos de código y archivos de muestra en este repositorio de GitHub.
Espero que hayas encontrado útil este tutorial.
Fuente del artículo original en: https://www.freecodecamp.org/news/how-to-read-files-in-python/