R语言使用file.rename重命名文件提示No such file or directory错误
运行代码:
file.rename('codebook', 'codebook2')报错信息:
[1] FALSE Warning message: In file.rename('codebook', 'codebook2'): cannot rename file 'codebook' to 'codebook2', reason 'No such file or directory'
报错原因
- 文件名后缀遗漏:
list.files()返回的结果包含完整文件后缀,你要操作的codebook大概率带有扩展名(如.R/.txt/.csv等),仅填写文件名前缀时系统无法匹配到对应文件。 - 工作目录实际未生效:即便
getwd()可以返回路径,若路径包含中文、特殊符号,或是当前R会话没有该目录的读写权限,也会出现无法操作目录内文件的情况。 - 目标文件被占用:如果
codebook文件正被其他程序打开(如Excel、RStudio的文件预览窗口、其他编辑器),系统会锁定文件,触发找不到文件的报错。 - 文件名大小写不匹配:Mac、Linux系统的文件名对大小写敏感,若实际文件名为
Codebook或CODEBOOK,填写小写codebook会被判定为文件不存在。
解决办法
- 首先运行
list.files()确认目标文件的完整名称(包含后缀),比如核实到文件为codebook.md,就将重命名代码修改为file.rename('codebook.md', 'codebook2.md')即可。 - 运行
file.exists('完整文件名')验证文件可被识别,若返回FALSE则重新设置工作目录,优先使用全英文无特殊字符的路径,设置完成后再次运行file.exists()确认。 - 关闭所有占用目标文件的程序后,再运行重命名代码。
- 核对文件名大小写,确保和
list.files()返回的结果完全一致。
内容的提问来源于stack exchange,提问作者Kate
相关产品推荐
相关产品推荐

