You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Colab中移动Drive内JSON文件报错的问题排查

问题描述

我用以下代码读取txt文件里的路径,将扩展名从jpg替换为json,再把这些JSON文件移动到指定文件夹:

%cd /content
eliminados = 0
with open('vuelo1.txt') as b:
  for o in b:
    o = o.replace("jpg", "json")
    print('path:',o)
    eliminados = eliminados + 1
    !mv $o /content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/etiquetas/malas/$etiquetas/
print(eliminados)

执行时出现以下错误:

mv: missing destination file operand after '/content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/ric/vuelo1/DJI_0338_2-1.json'
Try 'mv --help' for more information.
/bin/bash: line 1: /content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/etiquetas/malas/vuelo1/: Is a directory
path: /content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/ric/vuelo1/DJI_0332_1-2.json
错误原因及修正方案

1. 读取的路径包含换行符

从txt文件读取的每一行内容o会自带换行符(\n),直接传给mv命令时,换行符会被Shell解析为命令结束标记,导致目标路径被截断,触发"missing destination file operand"错误。

修正:读取后用strip()去除换行符和多余空格:

o = o.strip().replace("jpg", "json")

2. Shell变量$etiquetas未定义

错误信息显示目标路径中的$etiquetas被解析成了vuelo1,但这个变量未在Shell环境中定义,会导致路径解析异常。

修正:

  • 若目标路径固定,直接写死路径:
    !mv "$o" /content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/etiquetas/malas/vuelo1/
    
  • 若需动态指定,在代码开头定义Shell变量:
    %env etiquetas=vuelo1
    

3. 路径含空格时的兼容处理(可选)

如果文件路径包含空格,直接使用$o会被Shell拆分,建议给路径添加双引号避免解析错误:

!mv "$o" "/content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/etiquetas/malas/$etiquetas/"
修正后的完整代码
%cd /content
%env etiquetas=vuelo1
eliminados = 0
with open('vuelo1.txt') as b:
  for o in b:
    o = o.strip().replace("jpg", "json")
    print('path:', o)
    eliminados += 1
    !mv "$o" "/content/drive/MyDrive/Banano/etiquetas_eval/Datasets_originales_inferidos/etiquetas/malas/$etiquetas/"
print(eliminados)

内容的提问来源于stack exchange,提问作者frankh07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:45:56