Python shutil move 合并文件
Python shutil move merges files
嘿,我正在尝试使用 shutil move 函数以增量方式重命名目录中的一堆文件。例如,将文件 a.txt、b.txt、c.txt 重命名为 1.txt、2.txt、3.txt 等。现在,当我调用 shutil.move 函数时,它将获取所有文件并只生成一个“1”文件。奇怪的是,当我打印出我创建的新路径时,它会很好地增加路径。
这是我的代码:
absWorkingDir = os.path.abspath('.')
for file in os.listdir('.'):
newFile = os.path.join(absWorkingDir, file)
newPath = os.path.join(absWorkingDir, showName + " - s" + seasNum + \
"e%02d" % (os.listdir('.').index(file) + 1,))
print(newPath)
shutil.move(newFile, newPath)
感谢任何帮助。
根据说明,这应该可以帮助您:
#!/usr/bin/env python
import os
import shutil
skip = ['py', 'pyc']
files = [f for f in os.listdir('.') if f.split('.')[-1] not in skip]
files.sort()
showName = "ASD"
seasNum = 1
episode = 1
for f in files:
ext = f.split('.')[-1]
shutil.move(f, "%s-S%02de%02d.%s"%(showName, seasNum, episode, ext))
episode+=1
注意列表理解中的条件。
用法:
➜ ls
a.txt b.txt c.txt d.avi move.py
➜ python move.py
➜ ls
ASD-S01e01.txt ASD-S01e02.txt ASD-S01e03.txt ASD-S01e04.avi move.py
嘿,我正在尝试使用 shutil move 函数以增量方式重命名目录中的一堆文件。例如,将文件 a.txt、b.txt、c.txt 重命名为 1.txt、2.txt、3.txt 等。现在,当我调用 shutil.move 函数时,它将获取所有文件并只生成一个“1”文件。奇怪的是,当我打印出我创建的新路径时,它会很好地增加路径。
这是我的代码:
absWorkingDir = os.path.abspath('.')
for file in os.listdir('.'):
newFile = os.path.join(absWorkingDir, file)
newPath = os.path.join(absWorkingDir, showName + " - s" + seasNum + \
"e%02d" % (os.listdir('.').index(file) + 1,))
print(newPath)
shutil.move(newFile, newPath)
感谢任何帮助。
根据说明,这应该可以帮助您:
#!/usr/bin/env python
import os
import shutil
skip = ['py', 'pyc']
files = [f for f in os.listdir('.') if f.split('.')[-1] not in skip]
files.sort()
showName = "ASD"
seasNum = 1
episode = 1
for f in files:
ext = f.split('.')[-1]
shutil.move(f, "%s-S%02de%02d.%s"%(showName, seasNum, episode, ext))
episode+=1
注意列表理解中的条件。
用法:
➜ ls
a.txt b.txt c.txt d.avi move.py
➜ python move.py
➜ ls
ASD-S01e01.txt ASD-S01e02.txt ASD-S01e03.txt ASD-S01e04.avi move.py