Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ThanksVirus en 28 Febrero 2022, 04:04 am



Título: Concatenar con python salta a nueva linea
Publicado por: ThanksVirus en 28 Febrero 2022, 04:04 am
Hola, Feliz Lunes.

Tengo el siguiente "problema"

import os

os.system("echo %username% > usuario.txt")
lol = open('usuario.txt', 'r')
algo = lol.read()
print (algo)

print ("C:\\Users\\"+algo+"\\Desktop")

Cuando mando a ejecutar el archivo, por alguna razón "Desktop" lo manda a la siguiente linea ¿porque?

(https://i.ibb.co/mHkc00H/2022-02-28-03-03.png)
Gracias


Título: Re: Concatenar con python salta a nueva linea
Publicado por: fary en 28 Febrero 2022, 07:33 am
Estas leyendo el salto del línea del archivo  :rolleyes:

Por otra parte hay funciones para esto en python sin necesidad de usar algo externo...

os.environ.get("USERNAME")

Y hay también funciones para saber cual es el disco duro donde esta instalado el SO.... por que imaginate que no esta instalado Windows en la partición C.



Título: Re: Concatenar con python salta a nueva linea
Publicado por: ThanksVirus en 28 Febrero 2022, 15:42 pm
Estas leyendo el salto del línea del archivo  :rolleyes:

Por otra parte hay funciones para esto en python sin necesidad de usar algo externo...

os.environ.get("USERNAME")

Y hay también funciones para saber cual es el disco duro donde esta instalado el SO.... por que imaginate que no esta instalado Windows en la partición C.


"Estas leyendo el salto del línea del archivo" No entiendo


Título: Re: Concatenar con python salta a nueva linea
Publicado por: fary en 28 Febrero 2022, 15:51 pm
El caracter "\n".  :rolleyes:

no es lo mismo hacer:
Código:
print("Hola mundo")

que:

Código:
print("Hola mundo\n")


Título: Re: Concatenar con python salta a nueva linea
Publicado por: ThanksVirus en 28 Febrero 2022, 16:26 pm
El caracter "\n".  :rolleyes:

no es lo mismo hacer:
Código:
print("Hola mundo")

que:

Código:
print("Hola mundo\n")

Pero si se supone que el salto de linea es con la \n y yo no lo estoy usando.


Título: Re: Concatenar con python salta a nueva linea
Publicado por: .xAk. en 28 Febrero 2022, 16:29 pm
:-) el enter o return :-) tú no los ves pero son caracteres, igual que no ves el carácter campana (7) pero lo oyes.


Título: Re: Concatenar con python salta a nueva linea
Publicado por: Danielㅤ en 28 Febrero 2022, 17:27 pm
Hola, tal como dice fary, estás leyendo el salto de línea porque cuando se agrega información a un archivo siempre se agrega un salto de línea al final del archivo.

De todas maneras si aún querés lograrlo con la forma que nos has mostrado en tu código, podes reemplazar ésta línea:

Código:
algo = lol.read()

Por ésta:

Código:
algo = lol.read(). remove("\r\n")


Saludos


Título: Re: Concatenar con python salta a nueva linea
Publicado por: ThanksVirus en 28 Febrero 2022, 17:37 pm
Muchísimas gracias, lo he solucionado. Se nota que no llego aún ni ha novato  ;D


Título: Re: Concatenar con python salta a nueva linea
Publicado por: .xAk. en 28 Febrero 2022, 20:27 pm
el carácter de nueva línea es diferente en diferentes sistemas, aquí ha visto /r/n que son CR LF o en decimal 13 10, son dos caracteres, final de línea y retorno de carro. Esto sólo ocurre en windows (ms-dos).

En otros sistemas es diferente, en viejos mac era sólo /r ahora como en los unix /n, aquí se pueden ver (https://en.wikipedia.org/wiki/Newline#Representation) su representación. Y los llamados caracteres de control (https://es.wikipedia.org/wiki/Car%C3%A1cter_de_control), no visibles ;-)

Saludos