파이썬 다른파일의 클래스의 함수안에 입력받는 변수의값 가져오는법

조회수 1020회
**file_a**
import os
import sys

class Jmembership():
    def new_name(self):
        path_input = r"C:/Users/Users/Desktop/Database/input/"

        join_name = input("회원가입 이름 입력 : ")

        if not (os.path.isdir(path_input + join_name)):
            os.makedirs(os.path.join(path_input + join_name))
            return join_name
        # else:
        #     print("Error: Cannot create the directory {}".format(path_input + join_name)) 
        #     sys.exit()

**file_b**
import os

from file_a import Jmembership


class DataSP():
    def data_input(self, join_name):
        path_input = r"C:/Users/Users/Desktop/Database/input/"

        i = 0
        for name in os.listdir(path_input + join_name):
            src = os.path.join(path_input + join_name, name)
            dst = join_name + str(i) + '.png'
            dst = os.path.join(path_input + join_name, dst)
            os.rename(src, dst)
            i += 1


if __name__ == '__main__':
    jdb = Jmembership()
    jname = jdb.new_name()
    dsp = DataSP()
    dsp.data_input(jname)

file_a 에서 입력받은 이름을 file_b파일의 data_input함수에 받아서 해당폴더안에있는 그림이미지를 번호순서를 붙여 이름변경을 하고싶습니다. 현재 입력받은 이름이 file_b로 안넘어오는거 같은데 어떻게 해야 하나요?

  • if not (os.path.isdir(path_input + join_name)): 이 부분 제대로 작동하는건가요? 초보자 2021.5.15 17:55
  • 네 경로맞춰주면 작동 잘됩니다.. 송강주 2021.5.15 18:33

1 답변

  • 아래와 같이 인수를 넘겨주면 해결될 것으로 예상됩니다.

    class DataSP():
        def data_input(self, join_name):
            path_input = r"C:/Users/Users/Desktop/Database/input/"
    
            i = 0
            for name in os.listdir(path_input + join_name):
                src = os.path.join(path_input + join_name, name)
                dst = join_name + str(i) + '.png'
                dst = os.path.join(path_input + join_name, dst)
                os.rename(src, dst)
                i += 1
    
    
    if __name__ == '__main__':
        jdb = Jmembership()
        jname = jdb.new_name()
        #dsp = DataSP()
        dsp = DataSP(jname)
        dsp.data_input(jname)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)