繁体   English   中英

编辑文件名并保存到python中的新目录

[英]Editing file names and saving to new directory in python

我想编辑文件夹列表中的几个文件的文件名,并将整个文件导出到新文件夹。 虽然我能够将文件重命名为okay,但文件的内容没有迁移过来。 我想我编写的代码只是创建一个新的空文件而不是编辑旧文件并将其移动到新目录。 我觉得修复应该很容易,而且我缺少几行重要的代码。 以下是我到目前为止:

导入库

import os
import glob
import re

目录

directory = glob.glob('Z:/Stuff/J/extractions/test/*.fsa')

打印出来时,目录中的两个文件看起来像这样

Z:/Stuff/J/extractions/test\c2_D10.fsa
Z:/Stuff/J/extractions/test\c3_E10.fsa

for fn in directory:
    print fn

此脚本旨在操作文件名并将操纵的文件导出到另一个文件夹

for fn in directory:
    output_directory = 'Z:/Stuff/J/extractions/test2'
    value = os.path.splitext(os.path.basename(fn))[0]
    matchObj = re.match('(.*)_(.*)', value, re.M|re.I)
    new_fn = fn.replace(str(matchObj.group(0)), str(matchObj.group(2)) + "_" + str(matchObj.group(1)))
    base = os.path.basename(new_fn)
    v = open(os.path.join(output_directory, base), 'wb')
    v.close()

我的最终结果如下:

Z:/Stuff/J/extractions/test2\D10_c2.fsa
Z:/Stuff/J/extractions/test2\E10_c3.fsa

但就像我说的那样,文件在output_directory中是空的(0 kb)

如果我没错,你只是打开文件,然后你又立即关闭它?

没有任何写入文件肯定是空的。

看看这里: http//docs.python.org/2/library/shutil.html

shutil.copyfile(src,dst);)

正如斯特凡所说:

import shutil

并替换:

v = open(os.path.join(output_directory, base), 'wb')
v.close()

有:

shutil.copyfile (fn, os.path.join(output_directory, base))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM