用python实现将一个目录下面的文件换成文件夹的名字+特定字符

比如文件夹名为我是好人下面有3个文件1.txt、2.txt、3.txt要改成我是好人1.txt、我是好人2.txt、我是好人3.txtimportosdefchange(... 比如文件夹名为 我是好人 下面有3个文件 1.txt、2.txt、3.txt

要改成 我是好人1.txt、我是好人2.txt、我是好人3.txt
 
 import os
  def change(path):
  i = 1
  for f in os.listdir(path):
  a,b = os.path.splitext(f)
  os.rename(path + os.sep + f, path + os.sep + os.path.basename(path) + str(i) + b)
  i+=1
  if __name__=="__main__":
  path=os.getcwd()
  change(path)
 

您看看我这段 按照你的思路写的 想把当前路径下的文件名改成文件夹名字 execfile(filename, namespace)
os.rename(f, os.path.basename(path) + str(i) + b)
WindowsError: [Error 183]
会有这个
展开
 我来答
大话残剑
2015-11-09 · TA获得超过2218个赞
知道大有可为答主
回答量:1137
采纳率:56%
帮助的人:745万
展开全部
import os
path = 'D:\\workspace\\python\\filepath\\我是好人'
for f in os.listdir(path):
    os.rename(path + os.sep + f, path + os.sep + os.path.basename(path) + f)

path为路径,末尾不加斜杠,代码修改path下的所有文件

追问
看下我的补充问题~谢谢
追答

我这执行的挺好,不过把py程序也重命名了,增加了一个扩展名的判断

import os
def change(path):
    i = 1
    for f in os.listdir(path):
        a,b = os.path.splitext(f)
        if b == '.txt':
            os.rename(path + os.sep + f, path + os.sep + os.path.basename(path) + str(i) + b)
            i+=1

if __name__ == '__main__':
    path=os.getcwd()
    change(path)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式