拆分文件名

时间:2010-07-30 17:30:57

标签: python string

如何编写用于拆分文件名的python脚本

例如

LN0001_07272010_3.dat

并将文件重命名为LN0001_JY_07272010

我如何放置'|'并且这个文件(内容)中每一行的结尾都是一行记录?

5 个答案:

答案 0 :(得分:4)

fn = "LN0001_07272010_3.dat".split('_')
new_fn = '{0}_JY_{1}'.format(fn[0], fn[1])

更新忘记将“JY”添加到new_fn

答案 1 :(得分:2)

name = "LN0001_07272010_3.dat"                    
parts = name.split('_')  # gives you ["LN0001","07272010","3.dat"]    
newname = parts[0] + "_STUFF_" + parts[1] ... etc

对于重命名,您可以使用python文件系统函数

或者您可以使用python print为您的操作系统吐出一组重命名命令,将其捕获到批处理/ shell文件中,然后检查它是否正确 - 运行它。

print "mv ",name,newname   # gives; mv LN0001_07272010_3.dat LN0001_JY_07272010

答案 2 :(得分:2)

filename="LN0001_07272010_3.dat"
newfilename=filename.split("_")[0]+"_JY_"+filename.split("_")[1]

linearr=[]
for line in open(filename).readlines():
     linearr.append(line+"|")

f=open(newfilename, "w")
for line in linearr:
     f.write(line)
f.close()

答案 3 :(得分:0)

因为就地操作通常是一个坏主意,所以这是一个创建新文件的代码,保留原始文件不变:

fn = "LN0001_07272010_3.dat"
fn1, fn2 = fn.split("_")[:2]
new_fn = "_".join([fn1, "JY", fn2])
open(new_fn, "w").writelines(line.rstrip()+"|\n" for line in open(fn))

答案 4 :(得分:0)

file_name = 'LN0001_07272010_3.dat'
new_file_name = '{0}_JY_{1}'.format(file_name.split('_')[0], file_name.split('_')[1])