셀레니움으로 크롤링 코드를 만들어서, pyinstaller로 exe 실행 파일을 만들었다
내 컴퓨터에서는 작동이 되었지만(내 컴퓨터는 크롬드라이버가 설치되어있었기 때문에 작동한것이 었고)
다른 컴퓨터에서는 작동이 안되고, 오류만 나더라, 약 1시간넘게 이것저것 해보았고, 문제는 크롬드라이버 문제 였던것, 이를 해결 하기 위해선 getattr() 함수를 알아야 했고, 이를 정리해 본다
getattr() 함수는 객체의 속성(attribute) 값을 가져오는 내장 함수. 함수의 첫 번째 인자로 객체를 전달하고, 두 번째 인자로는 해당 속성의 이름을 문자열로 전달
만약 해당 속성이 존재하지 않을 경우, 함수는 AttributeError 예외를 발생시킨다 이 때, 함수의 세 번째 인자로 기본값을 전달하면, 예외 가 아니라, 세번째 인자를 리턴해준다..
class Test:
def __init__(self, value):
self.value = value
test = Test(44)
attr = getattr(test, 'value')
print(attr) # 출력: 44
# test 객체의 value 속성 가져옴
# test 객체의 age 속성값을 가져오려 시도합니다.
# 해당 속성이 존재하지 않기 때문에, AttributeError 예외가 발생합니다.
try:
attr = getattr(test, 'age')
except AttributeError:
print("age라는 속성이 없기 때문에 에러")
# test 인스턴스에는 age라는 속성이 존재 하지 않으므로 AttrbuteError 가 남
print('--------------------------------------------------- ')
# defautl 값을 지정할경우 error가 안나고 default값을 리턴함
attr = getattr(test, 'age', 'default값을 리턴함')
print(attr)
# 출력값 >> default값을 리턴함
# 위처럼 3번째 인자로 default 값을 지정할수 있다.