Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

315
Visualizações
FileNotFoundError al escribir en un archivo Pickle

Estoy tomando todos los nombres de archivo en un directorio determinado en una list y me gustaría escribir esta lista en un archivo pickle . Aquí está el código que estoy usando:

 import _pickle as pickle with open(filepath+'filenames.pkl', 'wb') as f: pickle.dump(filenames, f)

Esto me da el siguiente error:

 --------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) <ipython-input-32-c59e6889d2fe> in <module>() 1 import _pickle as pickle ----> 2 with open(dpath+'filenames.pkl', 'wb') as f: 3 pickle.dump(filenames, f) FileNotFoundError: [Errno 2] No such file or directory: '/data/train/filenames.pkl'

Se supone que debo crear este archivo. ¿Por qué ya se espera este archivo?

(Estoy usando Python 3.6.)

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

En su caso, lo más probable es que el directorio /data/train/ no exista

Probé este código y obtuve el mismo error:

 import pickle as pickle filenames='sadasdas' with open('/tmp/not_exist/filenames.pkl', 'wb') as f: pickle.dump(filenames, f)

producción:

 --------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) <ipython-input-7-6a22c2148796> in <module>() 1 import pickle as pickle 2 filenames='sadasdas' ----> 3 with open('/tmp/not_exist/filenames.pkl', 'wb') as f: 4 pickle.dump(filenames, f) FileNotFoundError: [Errno 2] No such file or directory: '/tmp/not_exist/filenames.pkl'

Puede manejar este problema asegurándose de que el directorio exista antes de escribir en el archivo: el enfoque programático para hacer lo mismo es este

 import os filename = "/tmp/not_exist/filenames.pkl" os.makedirs(os.path.dirname(filename), exist_ok=True) data = 'sadasdas' with open('/tmp/not_exist/filenames.pkl', 'wb') as f: pickle.dump(data, f)

referencia: https://stackoverflow.com/a/12517490/3027854

over 4 years ago · Santiago Trujillo Relatório

0

También tuve el mismo problema pero ninguna de las respuestas me ayudó. Los directorios estaban allí y usé wb , pero una y otra vez el mismo problema.

Espero que esto ayude a algunos que tienen el mismo problema: descubrí que el problema era que tenía muchas carpetas, también el nombre del archivo era demasiado largo (debido al hecho de que inventé el nombre del archivo como una cadena en que estaba tratando de indicar las características de ese archivo) y la carpeta en la que estaba tratando de volcar mostraría "Los nombres de archivo serían demasiado largos para la carpeta de destino" cuando intenté mover ese archivo manualmente.

Después de acortar el nombre del archivo, el problema se resolvió.

over 4 years ago · Santiago Trujillo Relatório

0

Tuve un problema similar al escribir usando un nombre de ruta relativo (y un enlace simbólico). El directorio definitivamente existía, pero aún generaba el FileNotFoundError.

El problema desapareció cuando cambié a usar la ruta absoluta

 abspath = pathlib.Path(filename).absolute() with open(str(abspath), 'wb') as f: pickle.dump(thing_to_pickle, f)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda