첫 번째 함수에서 newFolder를 반환하려고 했으므로 두 번째 함수에서 을 사용할 수 있습니다. 하지만 두 번째 함수가 호출되면 newFolder 변수 만 사용하는 대신 첫 번째 함수 전체를 루핑하게됩니다. 함수를 사용하는 전역 또는 newPath를 정의 할 때 잘 작동합니다. 그저 함수 안에서 작동하도록 조작하는 방법이 있는지 알고 싶습니다.differnent 함수에서 변수를 호출하려면 어떻게해야합니까?
import os
import shutil
directory = input("Enter the desired directory: ")
def dir_list():
os.chdir(directory)
subFiles = os.listdir()
return subFiles
def creating_dir():
newPath = input("Enter Folder name: ")
newFolder = (directory+'/'+newPath)
if not os.path.exists(newFolder):
os.makedirs(newFolder)
return newFolder
def moving_files():
for file in dir_list():
if file.endswith('.gif'):
shutil.move(file, creating_dir())
else:
break
def main():
dir_list()
creating_dir()
moving_files()
if __name__ == "__main__":
main()
나는 프로그래밍에 새롭다. 내 설명이 약간의 noobie라면 용서해주십시오. – Frozen
값을 반환하고 매개 변수를 전달하는 방법에 대해 읽어 보시기 바랍니다. 이것들은 기능에 대한 매우 중요한 개념입니다. 특히 함수의 반환 된 결과를 캡처하는 방법을 배워야합니다. 함수에 대한 모든 파이썬 자습서는 이것을 수행하는 방법을 보여줍니다. –
함수의 반환 값을'moving_files()'에 매개 변수로 전달하십시오. 올바른 방법입니다. –