Foros Python

Versión completa: sobrescribir txt
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
como puedo sobrescribir un archivo de txt y carmibar el titulo y el contenido en mayusculas.

ejemplo:
denota archivo:
texto.txt

se sobrescribio tu archivo a
TEXTO.txt
y el contenido en mayusculas.

aki tengo el seudocodigo, pero solo me denota las mayusculas en el shell y en el titulo, pero no en el contenido

Código:
import shutil
def e2():
    n=input("Dame el nombre del fichero: ")
    m=input("Denote el fichero que desea modificar")
    if(n == '0'):
        return menu()
    print(n.upper())
    c=shutil.copy(m,n)
    a= open(n,'r')
    lista=a.read()
    with open(n) as f:
        n.upper()
        a.close()
        print("contenido del fichero es:
",lista)
        return e2()
e2()
input()
El método str.upper no altera la cadena original, de hecho ningún método que actúe sobre cadenas de caracteres lo hace porque éstas son inmutables. En lugar de eso, la función retorna una nueva cadena íntegramente en letras mayúsculas. Por ende, si content es el contenido de tu archivo y filename el nombre, entonces:

Código:
# Convertirlo a mayúsculas.
content = content.upper()
filename = filename.upper()
# Reemplazar el contenido anterior por el nuevo.
with open(filename, "w") as f:
   f.write(content)

Un saludo.