如何编写用于拆分文件名的python脚本
例如
LN0001_07272010_3.dat
并将文件重命名为LN0001_JY_07272010
?
我如何放置'|'并且这个文件(内容)中每一行的结尾都是一行记录?
答案 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])