Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.4K
Views
Quiero reemplazar comillas simples con comillas dobles en una lista

Así que estoy creando un programa que toma un archivo de texto, lo divide en palabras y luego escribe la lista en un nuevo archivo de texto.

El problema que tengo es que necesito que las cadenas de la lista estén entre comillas dobles, no entre comillas simples.

Por ejemplo

Obtengo este ['dog','cat','fish'] cuando quiero este ["dog","cat","fish"]

Aquí está mi código

 with open('input.txt') as f: file = f.readlines() nonewline = [] for x in file: nonewline.append(x[:-1]) words = [] for x in nonewline: words = words + x.split() textfile = open('output.txt','w') textfile.write(str(words))

Soy nuevo en python y no he encontrado nada al respecto. ¿Alguien sabe como resolver esto?

[Editar: olvidé mencionar que estaba usando la salida en un proyecto de arduino que requería que la lista tuviera comillas dobles].

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

No puede cambiar cómo funciona str para list .

¿Qué tal usar el formato JSON que usa " para cadenas.

 >>> animals = ['dog','cat','fish'] >>> print(str(animals)) ['dog', 'cat', 'fish'] >>> import json >>> print(json.dumps(animals)) ["dog", "cat", "fish"]

 import json ... textfile.write(json.dumps(words))
over 4 years ago · Santiago Trujillo Report

0

Lo más probable es que desee reemplazar las comillas simples con comillas dobles en su salida reemplazándolas:

 str(words).replace("'", '"')

También puede extender el tipo str de Python y envolver sus cadenas con el nuevo tipo cambiando el __repr__() para usar comillas dobles en lugar de simples. Sin embargo, es mejor ser más simple y más explícito con el código anterior.

 class str2(str): def __repr__(self): # Allow str.__repr__() to do the hard work, then # remove the outer two characters, single quotes, # and replace them with double quotes. return ''.join(('"', super().__repr__()[1:-1], '"')) >>> "apple" 'apple' >>> class str2(str): ... def __repr__(self): ... return ''.join(('"', super().__repr__()[1:-1], '"')) ... >>> str2("apple") "apple" >>> str2('apple') "apple"
over 4 years ago · Santiago Trujillo Report

0

En Python, las comillas dobles y simples son iguales. No hay diferencia entre ellos. Y no tiene sentido reemplazar una comilla simple con una comilla doble y viceversa:

2.4.1. Literales de cadena y bytes

... En lenguaje sencillo: ambos tipos de literales pueden incluirse entre comillas simples (') o comillas dobles ("). También pueden incluirse en grupos coincidentes de tres comillas simples o dobles (generalmente se denominan triples). -cadenas entrecomilladas). El carácter de barra invertida () se usa para escapar de caracteres que de otro modo tendrían un significado especial, como una nueva línea, la barra invertida en sí misma o el carácter de comillas...

"El problema que tengo es que necesito que las cadenas de la lista estén entre comillas dobles, no entre comillas simples". - Luego, debe hacer que su programa acepte comillas simples, sin tratar de reemplazar las comillas simples con comillas dobles.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!