not - typeerror python
TypeError: coercing a Unicode: necesita cadena o bĂșfer (3)
¡Estás intentando abrir cada archivo dos veces! Primero lo haces:
infile=open(''110331_HS1A_1_rtTA.result'',''r'')
y luego pasa de nuevo a infile
(que es un objeto de archivo) a la función open
:
with open (infile, mode=''r'', buffering=-1)
open
por supuesto, espera que su primer argumento sea un nombre de archivo, ¡no un archivo abierto!
Abre el archivo una sola vez y deberías estar bien.
Este código devuelve el siguiente mensaje de error:
con open (infile, mode = ''r'', buffering = -1) como in_f, open (outfile, mode = ''w'', buffering = -1) como out_f: TypeError: coercing a Unicode: need string o buffer, archivo encontrado
# Opens each file to read/modify infile=open(''110331_HS1A_1_rtTA.result'',''r'') outfile=open(''2.txt'',''w'') import re with open (infile, mode=''r'', buffering=-1) as in_f, open (outfile, mode=''w'', buffering=-1) as out_f: f = (i for i in in_f if i.rstrip()) for line in f: _, k = line.split(''/t'',1) x = re.findall(r''^1..100/t([+-])chr(/d+):(/d+)/./.(/d+).+$'',k) if not x: continue out_f.write('' ''.join(x[0]) + ''/n'')
Por favor alguien me ayude
Está intentando pasar objetos de archivo como nombres de archivo. Intenta usar
infile = ''110331_HS1A_1_rtTA.result''
outfile = ''2.txt''
en la parte superior de tu código
(El doble uso de open()
causa el problema al tratar de abrir el archivo nuevamente, sino que también significa que nunca se cierra el archivo y el archivo durante el curso de la ejecución, aunque probablemente se cierren una vez que finaliza el programa. )
Para el caso menos específico (no solo el código en la pregunta, ya que este es uno de los primeros resultados en Google para este mensaje de error genérico. Este error también ocurre cuando se ejecuta cierto comando de sistema operativo con el argumento Ninguno.
Por ejemplo:
os.path.exists(arg)
os.stat(arg)
Levantaremos esta excepción cuando arg es Ninguno.