pycharm Python 호출 dll/.os에서 발생한 오류 집합
1958 단어 레코드
python LoadLibrary [WinError 126]에서 지정된 모듈을 찾을 수 없습니다.
해결 방법: 인용된 파일 디렉터리가 잘못되었습니다.
path1 = os.path.split(os.path.realpath(__file__))[0] # 은 현재 폴더의 절대 경로를 나타냅니다.
path1 FileMZ ='%s%s'% (path1,'/Licence DLL/xxx.dll') # dll의 파일 주소
[WinError 193]%1은(는) 유효한 Win32 응용 프로그램이 아닙니다.
해결 방법: windos 대응 버전의 dll 또는 linux 대응 버전의.os
dll 함수의 예:generatelicense_file(char * onlycode, char* licenseName, char* companyname, char* email, char* phone, char* companyperson, char* effective, char *out)
C 기본 유형 및 ctypes에서 구현된 유형 매핑 테이블
ctypes 데이터 형식
C 데이터 유형
c_char
char
c_short
short
c_int
int
c_long
long
c_ulong
unsign long
c_float
float
c_double
double
c_void_p
void
char*대응하는 것은 cchar_c
python에서 다음과 같이 설명합니다
예: OnlyCodeA = c_char_p(str(OnlyCode).encode(encoding="utf-8") # 고유 코드
str () 의 역할은 str 형식으로 전환하는 것입니다. 예를 들어 형식을str로 바꾸면 직접적으로 할 수 있습니다.encode(encoding="utf-8")
그 중에서 dll 또는os와 인코딩 형식을 약속해야 한다
반환값 수신char*out
값을 저장할 빈 용기를 정의합니다
str_A = c_char_p(("").encode(encoding="utf-8") #반환된 값 수신
str_A.value의 유형은bytes이므로str로 변환합니다
str_A =bytes.decode(str A.value) # bytes를str로 변환
인코딩 변환 방법은utf-8의 방식으로 인코딩하여bytes로 변환
website_bytes_utf8 = website.encode(encoding="utf-8")
2.gb2312 방식으로 인코딩하여bytes로 전환
website_bytes_gb2312 = website.encode(encoding="gb2312")
3. string으로 디코딩
website_string = website_bytes_utf8.decode()
4.string으로 디코딩,gb2312 방식 사용
website_string_gb2312 = website_bytes_gb2312.decode("gb2312")
참고:
호출 중에는try:except Base Exception as err: print ("오류 =",err) 로 이상을 가져오는 것이 좋습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
react 비계 프로젝트는 https 방법으로텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.