Python WindowsError: [Error 3] 尝试重命名时系统找不到指定的文件

2023-11-30

我不明白出了什么问题。我以前使用过重命名没有任何问题,并且在其他类似问题中找不到解决方案。

import os
import random

directory = "C:\\whatever"
string = ""
alphabet = "abcdefghijklmnopqrstuvwxyz"


listDir = os.listdir(directory)

for item in listDir:
    path = os.path.join(directory, item)

    for x in random.sample(alphabet, random.randint(5,15)):
        string += x

    string += path[-4:] #adds file extension

    os.rename(path, string)
    string= ""

您的代码中有一些奇怪的事情。例如,文件的源是完整路径,但重命名的目标只是文件名,因此文件将出现在任何工作目录中 - 这可能不是您想要的。

您无法防止两个随机生成的文件名相同,因此您可能会以这种方式破坏一些数据。

尝试一下,这应该可以帮助您发现任何问题。这只会重命名文件,并跳过子目录。

import os
import random
import string

directory = "C:\\whatever"
alphabet = string.ascii_lowercase

for item in os.listdir(directory):
  old_fn = os.path.join(directory, item)
  new_fn = ''.join(random.sample(alphabet, random.randint(5,15)))
  new_fn += os.path.splitext(old_fn)[1] #adds file extension
  if os.path.isfile(old_fn) and not os.path.exists(new_fn):
    os.rename(path, os.path.join(directory, new_fn))
  else:
    print 'error renaming {} -> {}'.format(old_fn, new_fn)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python WindowsError: [Error 3] 尝试重命名时系统找不到指定的文件 的相关文章

随机推荐

  • 以编程方式添加具有多个号码的一位联系人 Android

    如何以编程方式在 Android 手机上添加一个具有多个号码的联系人 我们可以这样做 将名称和数字数组传递给此方法 public static void addToContactList Context context String str
  • background_task.py 不显示消息 - Python

    我注意到 当我从 Discord py Github 页面运行代码片段时 它没有显示预期的消息 我稍微修改过的代码 import discord import asyncio import nest asyncio nest asyncio
  • 计算运行中位数时缺失值?

    我想平滑时间序列以避免虚假抖动 错误 换句话说 我想做一些非常局部的鲁棒平滑 我在动物园包中遇到了 rollmean 和 rollmedian 但遇到了问题 因为我的向量中有一个 NA 然后我在某处读到那些动物园函数使用 runmed 这就
  • 如果我不知道实际的对象类型,如何在 C# 中比较两个 IEnumerable

    我正在努力实施IEquatable lt gt 一个类的接口 班级有一个Parameter使用泛型类型的属性 基本上类的定义是这样的 public class MyClass
  • 如何访问父组件中子组件的引用

    如果我有类似的东西
  • 使用 Python Paramiko 执行命令并等待其完成

    我在 Paramiko 中编写了这段代码 ssh SSHClient ssh set missing host key policy AutoAddPolicy ssh connect hostname username user pass
  • 为什么 R 在文件路径中使用正斜杠 (/) 而不是反斜杠 (\)

    我正在教授在线课程 一个学生问我为什么 R 只使用 并不是 使用时在文件路径中read csv以及其他相关功能 我试着看看文档但它并没有真正提到任何相关内容 从来没有真正考虑过这个问题 因为我使用 Mac Mac 中的默认设置是 但在 Wi
  • ZipEntry 中的额外字节有何用途?

    用于 Zip 文件的 Java 库有一个选项ZipEntry for getExtra 返回byte or null ZipEntry 中的额外字节有何用途 我知道这个问题关于链接到的存档属性getExtra 但它没有解释该字段的其他用途
  • 如何将 kendo Ui 下拉列表选定值的 ID 传递到控制器?

    我正在尝试创建一个使用 KENDO UI Dropdown 的应用程序 问题是我想将视图中的值更新到数据库中 在选择下拉列表中的任何值时 与其关联的 ID 应传递到控制器以进行所需的数据库更新 但这里下拉列表的任何选择的 ID 都会将 nu
  • Alfresco 共享登录问题

    我发现本地安装的露天共享存在一些问题 当我尝试使用登录时 http localhost 8080 共享 它向我返回此错误消息 The remote server may be unavailable or your authenticati
  • 更新 github 上的分叉存储库

    我从 github 分叉了一个存储库 它称为 bootstrap 我已经克隆了我的叉子 git clone https github com Fowowski bootstrap git bootstrap 项目有一个 master 分支和
  • ‘$’不被识别为内部或外部命令..”

    我已经安装了 Node 并重新启动了计算机 将 C Program Files nodejs 添加到我的路径中 但是当我在命令提示符中运行 node version 来检查版本时 它返回 未被识别为内部或外部命令 可操作程序或批处理文件 你
  • SQL Server 中的 DECIMAL 和 NUMERIC 有什么区别吗?

    SQL Server 中的 DECIMAL 和 NUMERIC 数据类型有什么区别吗 什么时候应该使用 DECIMAL 什么时候应该使用 NUMERIC 他们是一样的 数字在功能上等同于十进制 MSDN 小数和数字
  • 使用 Moment.js 进行区域设置检测

    我在项目中使用 Moment js 并格式化日期 如下所示 var date moment unix 1318781876 return date format LLLL 目前文档声明支持多个区域设置 我想知道 moment js 是否会自
  • JavaFX 2:在 TableCell 中保存编辑

    在我的 JavaFX 程序中 我使用 TableCell 您可以在其中编辑值 就像 JavaFX 页面上的示例所示 例子 我使用这个函数来保存更改 函数在编辑单元格的 TextField 上设置 textField setOnKeyRele
  • 如何向socket通道写入数据

    是否有任何小型工作程序可以使用 java nio 从客户端接收数据并向客户端发送数据 实际上我无法写入套接字通道 但我能够读取传入的数据 如何向socket通道写入数据 谢谢 迪帕克 您可以将数据写入套接字通道 如下所示 import ja
  • 固定位置的div

    我有一个样式为position fixed 的div 我希望它向下滚动页面 但我不希望div 溢出到页脚中 我怎样才能做到这一点 提前致谢 肖恩 尝试这个 CSS body html height 100 margin 0 padding
  • jQuery 事件按键:按下了哪个键? A-Z,&@

    在 keydown 上我从 jQuery 得到以下信息 jQuery Event altKey false attrChange undefined attrName undefined bubbles true button undefi
  • Win 7 和 Win 8 中最大化时的无边界应用程序隐藏在任务栏后面

    我在 WPF 中创建了一个无边框窗口 我编写了一个事件来最大化窗口 但在最大化时 窗口的一部分有时隐藏在任务栏后面 片刻后出现在任务栏顶部 如何确保窗口每次都保持在任务栏的顶部 以下是我实施的方法 private void OnMaximi
  • Python WindowsError: [Error 3] 尝试重命名时系统找不到指定的文件

    我不明白出了什么问题 我以前使用过重命名没有任何问题 并且在其他类似问题中找不到解决方案 import os import random directory C whatever string alphabet abcdefghijklmn