写协助办公程序受阻
因为一定的业务需求,我想写一个给文件批量重命名的程序,但是遇到了一个无法攻克的技术困难。
困难:使用os.listdir()方法的时候,生成的list是无序的。
想要批量重命名,我的思路是先创建一个txt文件,把新的文件名排好序,然后用 os.listdir 和 os.rename
但由于os.listdir 把需要重命名的文件名无序化了,就导致不能用os.rename和for in来自动化重命名了。。。
想问一下神通广大的鱼油们,有什么技术可以克服这个困难吗?{:5_100:} 用os.scandir 返回方法stat 这么多属性 总能排好你可以查看一下 文件是按什么排的序 右击<排序方式> 好像有一个叫拖把更名器,狠强大,
如果没有其他需求,仅仅更名,没必要自己写 你的那些文件名有什么规律?
你想要把什么名字改成什么名字?举个例子
本帖最后由 qq1151985918 于 2021-10-11 15:44 编辑
你想让它有顺序自然是有排序方式的吧?排序方式是什么规律找出来不就可以了么
或者你把你想重命名的文件名和想更正后的文件名发上来 qq1151985918 发表于 2021-10-11 15:41
你想让它有顺序自然是有排序方式的吧?排序方式是什么规律找出来不就可以了么
或者你把你想重命名的文件名 ...
我们【系统文件】里的顺序是按拼音或者首字母在字母表里的顺序排序的,我试过一个类似的排序方法,但是 D 和 “大”和“等”这三个(举个例子)的顺序和系统文件的排序不一样。并且顺序还和文件类型有关,就很混乱。{:5_104:}
wp231957 发表于 2021-10-11 15:27
好像有一个叫拖把更名器,狠强大,
如果没有其他需求,仅仅更名,没必要自己写
去找找 人造人 发表于 2021-10-11 15:31
你的那些文件名有什么规律?
你想要把什么名字改成什么名字?举个例子
就一堆人名,然后系统文件是按照拼音首字母在字母表顺序,我找了个别人写的函数,搞完发现三个姓“刘”的顺序死活跟系统不一样。。。 FK二十一 发表于 2021-10-11 15:59
就一堆人名,然后系统文件是按照拼音首字母在字母表顺序,我找了个别人写的函数,搞完发现三个姓“刘”的 ...
你想要把什么名字改成什么名字?举个例子
例如 123.txt 改成 456.txt
张三.c改成 李四.cpp
FK二十一 发表于 2021-10-11 15:57
去找找
确实,它实现了我的设想,很屌。 人造人 发表于 2021-10-11 16:44
你想要把什么名字改成什么名字?举个例子
例如 123.txt 改成 456.txt
张三.c改成 李四.cpp
就是像把张三改成李四这样的 FK二十一 发表于 2021-10-11 17:25
就是像把张三改成李四这样的
重命名的规则是什么?
15013523101 发表于 2021-10-11 15:18
用os.scandir 返回方法stat 这么多属性 总能排好你可以查看一下 文件是按什么排的序 右击
我去,不小心发现我的工作已经结束了
页:
[1]