1
모든 파일을 하나의 디렉토리에 저장하고 하위 디렉토리로 구성하는 코드를 만들려고합니다. 즉 2017.2.3, 2016.2.5, 2015.5.6, 2014.3.5를 원래 디렉토리의 2017, 2016, 2015, 2014 폴더로 분류하십시오. 2.7.13shutil.move()를 사용하여 하위 폴더로 파일을 이동하는 중
내가 사용하는 코드를 사용하는 것은 다음과 같습니다 : 모든 의견은 크게 감상 할 수
Traceback (most recent call last):
File "D:\Documents\Programs\Sigma_File_Move.py", line 24, in <module>
shutil.move(os.path.join(source, files), dest1)
File "D:\Python27\ArcGIS10.4\lib\ntpath.py", line 65, in join
result_drive, result_path = splitdrive(path)
File "D:\Python27\ArcGIS10.4\lib\ntpath.py", line 116, in splitdrive
normp = p.replace(altsep, sep)
AttributeError: 'list' object has no attribute 'replace'
:
import os, shutil
root_path = ('D:\Sigma\Rides')
folders = ['2016', '2017', '2018', '2019', '2020']
for folder in folders:
os.mkdir(os.path.join(root_path,folder))
source = os.listdir('D:\\Sigma\\Rides')
dest1 = ('D:\\Sigma\\Rides\\2016')
dest2 = ('D:\\Sigma\\Rides\\2017')
dest3 = ('D:\\Sigma\\Rides\\2018')
dest4 = ('D:\\Sigma\\Rides\\2019')
dest5 = ('D:\\Sigma\\Rides\\2020')
for files in source:
if (files.startswith('2016_')):
shutil.move(os.path.join(source, files), dest1)
if (files.startswith('2017')):
shutil.move(os.path.join(source, files), dest2)
if (files.startswith('2018')):
shutil.move(os.path.join(source, files), dest3)
if (files.startswith('2019')):
shutil.move(os.path.join(source, files), dest4)
if (files.startswith('2020')):
shutil.move(os.path.join(source, files), dest5)
이 내가 receieve 오류입니다.
로 변경해야합니다. 실제로 여기서'abspath'를 사용하여 경로를 생성 할 수 없습니다. 코드에서'root_path' 변수를 사용하도록 변경했습니다. – anupsabraham