2024-09-29 21:35:13 发布
网友
我在OSX上,我受够了我工作的标签系统。标签是mm/dd/yy,我认为它们应该是yy/mm/dd。有没有一种方法可以编写脚本来实现这一点?我对Python中的列表和如何更改字符的位置有一定的了解。在
有什么建议或建议吗?在
我现在所拥有的:
083011-HalloweenBand 090311-ViolaClassRecital 090411-JazzBand
我想要的:
谢谢
假设脚本与要重命名的文件位于同一目录中,并且您已经拥有要重命名的文件列表,则可以执行以下操作:
for file in rename_list: os.rename(file, file[4:6] + file[:2] + file[2:4] + file[6:])
这里有一个关于使用Python的traversing directories的信息的问答,您可以通过修改来实现这一点。key方法是walk(),但您需要向rename()添加适当的调用。在
作为初学者,在尝试更改目录名之前,最好先遍历目录并写出新的目录名。您还应该做一个备份,并在执行之前通知任何可能关心此更改的人。在
我知道你要的是python,但我会从shell开始。这是一个简单的单行线。在
ls | awk '{print "mv " $0 FS substr($1,5,2) substr($1,1,4) substr($1,7) }' | bash
我不使用osx,但我认为它是一个bashshell。您可能需要将bash重命名为sh,或将awk重命名为gawk。在
但这行代码所做的是将目录列表管道化到awk,awk将打印“mv”$0(行)和一个空格(FS=field separator,默认为space),然后是两个子字符串。在
substr(s,c,n). This returns the substring from string s starting from character position c up to a maximum length of n characters. If n is not supplied, the rest of the string from c is returned.
最后,这是通过管道连接到外壳的。允许它被执行。这在ubuntu和我经常使用的这个命令的变体上工作没有问题。awk(awk,nawk,gawk)的一个版本应该安装在osx上,我相信它使用bash
假设脚本与要重命名的文件位于同一目录中,并且您已经拥有要重命名的文件列表,则可以执行以下操作:
这里有一个关于使用Python的traversing directories的信息的问答,您可以通过修改来实现这一点。key方法是walk(),但您需要向rename()添加适当的调用。在
作为初学者,在尝试更改目录名之前,最好先遍历目录并写出新的目录名。您还应该做一个备份,并在执行之前通知任何可能关心此更改的人。在
我知道你要的是python,但我会从shell开始。这是一个简单的单行线。在
ls | awk '{print "mv " $0 FS substr($1,5,2) substr($1,1,4) substr($1,7) }' | bash
我不使用osx,但我认为它是一个bashshell。您可能需要将bash重命名为sh,或将awk重命名为gawk。在
但这行代码所做的是将目录列表管道化到awk,awk将打印“mv”$0(行)和一个空格(FS=field separator,默认为space),然后是两个子字符串。在
最后,这是通过管道连接到外壳的。允许它被执行。这在ubuntu和我经常使用的这个命令的变体上工作没有问题。awk(awk,nawk,gawk)的一个版本应该安装在osx上,我相信它使用bash
相关问题 更多 >
编程相关推荐