반응형
Python에서 SQL 파일 실행
python sql 파일을 실행해야 합니다.파일은 mysql용입니다.이렇게 해봤어요.
from subprocess import Popen, PIPE
import sys
class ImportSql:
def execImport(self, fileSql):
try:
with open(fileSql, 'r') as fileInput:
proc = Popen(["mysql", "DB_NAME", "-u", "USER", "-pPASSWORD"], stdin=PIPE, stdout=PIPE)
proc.communicate('source ' + fileInput)[0]
except BaseException as ex:
print("ERROR:", ex)
sys.exit()
하지만 다음 오류가 발생합니다.
오류: _io가 아닌 str이어야 합니다.TextIOWrapper
어떻게 해야 할까?
파일 객체가 아닌 파일 내용을 전달해야 합니다.
proc.communicate('source ' + fileInput.read())
또, 인쇄하고 종료하는 것만으로 예외를 잡지 말아 주세요.Python은 이미 그렇게 하고 있습니다.그 시도/제외는 제외한다.
좋아, 박쥐 안에 있는 mysql 명령어를 옮겼어
from subprocess import Popen
class ImportSql:
def execImport(self):
p = Popen("import.bat")
p.communicate()
괜찮아! 고마워!
언급URL : https://stackoverflow.com/questions/43864950/running-sql-file-from-python
반응형
'programing' 카테고리의 다른 글
SHA256 해시의 길이는 얼마나 됩니까? (0) | 2022.09.08 |
---|---|
MySQL Workbench가 쿼리 결과를 표시하지 않음 (0) | 2022.09.08 |
pom.xml 파일에서 Java 컴파일러 버전을 지정하는 방법은 무엇입니까? (0) | 2022.09.08 |
모든 jQuery Ajax 요청이 완료될 때까지 기다리시겠습니까? (0) | 2022.09.08 |
PHP를 사용하여 알파벳의 다음 문자를 얻는 가장 효율적인 방법 (0) | 2022.09.08 |