Python - Inconveniente con un codigo

 
Vista:
Imágen de perfil de alberto
Val: 22
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Inconveniente con un codigo

Publicado por alberto (4 intervenciones) el 19/09/2019 15:33:03
Hola.

Para ver quien me puede ayudar lo que pasa es que estoy leyendo un archivo .txt y lo estoy escribiendo en una variable tipo json el problema es que el los datos deben estar dentro un corchete y separado por comillas simple [' ', ' ', ' ']. tengo el siguiente código pero me sale una doble comillas antes del después del corchete y como eso lo esta consumiendo una API me dice formato no valido tengo el siguiente codigo. Ademas tengo unos condiciones para limpiar el código pero no me funciona yo los tengo en otra ruta sino que los pegue para que vieran cuales eran



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
import requests
import urllib
import urllib3
from utils import formater
 
DATA = u'46584654-4654654-4654-48640'
data={}
file_media=''
linea={}
value=''
 
def clean(data):
  clean_txt = json.dumps(data,indent=4, separators=(".", "="))
  clean_txt3 = clean_txt.replace("'", "'")
  clean_txt4 = clean_txt3.replace('"[',"")
  clean_txt5 = clean_txt4.replace(']"',"")
  return clean_txt5
 
def simple_clean(data):
  clean_txt = json.dumps(data)
  clean_txt2 = clean_txt.replace('"', '')
  clean_txt3 = clean_txt2.strip("\"")
  clean_txt4 = clean_txt3.replace('[','')
  clean_txt5 = clean_txt4.replace(']','')
  return clean_txt5


#urls= []
#if "files/url.txt" in config
with open("files/url.txt", "r") as f:
  # lineas = f.readlines()
   lineas = [lineas.strip() for lineas in f]
   value =  str(lineas)

#value = formater.simple_clean(lineas)
lineas = formater.simple_clean(value)
value = formater.clean("[" + lineas + "]")

url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
headers = {'content-type': 'application/json'}
data = { "Transaction ID":str(DATA),
  "cat":"lista",
  "URLs":[value]}
r=requests.post(url,data=data, headers=headers, verify=False )

salida_CSV = open("files/data.txt", "w")

file_media+=str(data) + "\n"
 
salida_CSV.write(file_media)
salida_CSV.close()


y la salida es la siguiente.

{'Transaction ID': '46584654-4654654-4654-48640', 'cat': 'lista', 'URLs': [" 'www.hola.com', 'www.como.com', 'www.estas.com', 'www.dime.com', 'www.hola_mundo.com' "]}
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

Inconveniente con un codigo

Publicado por joel (901 intervenciones) el 19/09/2019 17:28:31
Hola Alberto, tal y como hemos comentado en el chat, la solución ha sido cambiar esto:
1
2
3
with open("files/url.txt", "r") as f:
   lineas = [lineas.strip() for lineas in f]
   value =  str(lineas)

por esto:
1
2
with open("files/url.txt", "r") as f:
   value = [lineas.strip() for lineas in f]
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