所以,我制作了这个快速的python脚本,它接受一个文件名并修复它以便在linux上使用。
import os
import sys
args = sys.argv
file = args[1].split('\\')
file = file[len(file)-1]
newfile = ''
for char in file:
if char.isupper():
newfile += '_' + char.lower()
elif not char.isalnum() and char != '.':
newfile += '_'
else:
newfile += char
newfile = newfile.lstrip('_')
os.rename(args[1],newfile)
它可以正常工作,但是如果你将文件拖到顶部,它就不会重命名文件。我使用一些print语句进行了调试,如果你拖放它,它确实将文件作为arg接收,但它不会重命名它。任何帮助将不胜感激。
编辑:根据要求添加一些操作系统详细信息。
使用Windows 7,SP1 64位终极版 使用Python 2.7 64位
答案 0 :(得分:1)
现在更加简洁明了。
import os
import sys
args = sys.argv
path = "\\".join(args[1].split('\\')[:-1])
file_name = args[1].split("\\")[-1]
file_name = file_name.lower()
file_name = file_name.replace(' ','_')
file_name = path+'\\'+file_name
os.rename(args[1],file_name)