【问题标题】:python os.rename can't find a file, even though the code check it existspython os.rename 找不到文件,即使代码检查它存在
【发布时间】:2019-05-28 08:35:33
【问题描述】:

我有一个奇怪的错误:

在代码中:

if os.path.isfile(df_file):
    os.rename(df_file, df_file + '_backup.parquet')

我收到一个错误:

    os.rename(df_file, df_file + '_backup.parquet')
FileNotFoundError: [Errno 2] No such file or directory: '/data/5faf97ca101ae0413c383678186bf601.parquet' ->
    '/data/5faf97ca101ae0413c383678186bf601.parquet_backup.parquet'

即使我检查并且文件存在! 可能是什么问题呢 ? 源文件和目录明显存在

代码在烧瓶线程中调用。

【问题讨论】:

  • 无法重现。 Python 版本?
  • python 3.6.2 在 debian (tensorflow) docker 中。
  • 单独运行这个块会得到什么?

标签: python file error-handling operating-system


【解决方案1】:

'/data/5faf97ca101ae0413c383678186bf601.parquet_backup.parquet' 这是一个绝对路径,指向根路径下的数据目录。我猜你想使用相对路径,'./data/5faf97ca101ae0413c383678186bf601.parquet_backup.parquet'

【讨论】:

  • 它在 docker 容器中运行。并且 /data/ 映射到根目录。无论如何-该文件确实存在。那为什么我会收到这个错误?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多