2014-07-11 7 views
1

저는 파이썬을 처음 접했고 간단한 작업을 수행하려고합니다. 일부 폴더의 이름 만 다른 폴더 (예 : folderA)에 복사하려고합니다. 나는 그 폴더의 내용에 관심이 없으며, 나는 그들의 이름만을 복사하려고합니다. 폴더 이름을 복사하는 방법

(I 복사 할 폴더 이름이 batch_2016 미만 : sin_1008100, sin_1010987, sin_10109) 아래 내가 작성한 것입니다하지만 난 어떤 오류가 발생하고 있지 않다

batch_path = '/net/storage/batch_2016' # where the folders are located 
batch_name = raw_input("batch name: ") # im giving a new folder name 
os.chdir(batch_path) 
print(os.getcwd()) 

for fName in os.listdir('.'): 
    if fName.startswith("sin"): 
     os.makedirs(batch_name) 
     os.chdir(batch_name) 
     os.makedirs(fName) 

을 예상대로 작동하지 않습니다 post하지만 실행 중일 때 batch_name 폴더를 3 개 만들고 각 폴더에 복사 할 folder_names가 있습니다. 새 폴더 이름은 폴 데라 경우, 나는이 때문에 루프의 추측

FolderA, sin_1008100 
FolderA, sin_1010987 
FolderA, sin_10109 

내부 그래서, 그것을 가지고 있지만 그 문제를 해결하는 방법을 잘 모르겠습니다. 도움을 주시면 고맙겠습니다. 감사합니다.

답변

0

나는 이것이 당신이 원하는 것을 생각 :

import os 

batch_path = '/net/storage/batch_2016' # where the folders are located 
batch_name = raw_input("batch name: ") # im giving a new folder name 
os.chdir(batch_path) 
print(os.getcwd()) 

os.makedirs(batch_name) 

for fName in os.listdir('.'): 
    if fName.startswith("sin"): 
     os.makedirs(batch_name + "/" + fName) 
     # alternatively, os.makedirs("../" + batch_name + "/" + fName) 
+0

예, 작동! 그게 내가 찾고 있던거야, 고마워. 그건 그렇고, "/"는 무엇입니까? – Vbc

+0

"/"는 경로의 일부입니다. batch_name 디렉토리에 fName이라는 파일을 만듭니다. 예를 들어 batch_name = "/ net/storage/greatbatch"및 fName = "sin_42"를 사용하면/net/storage/greatbatch/sin_42가됩니다. – mwk