Go文件
package main
import (
"fmt"
"C"
"io/ioutil"
"log"
"path/filepath"
)
//export ListDir
func ListDir(folder *C.char) []string{
path := C.GoString(folder)
arr := make([]string, 0, 10)
files, errDir := ioutil.ReadDir(path)
if errDir != nil {
log.Fatal(errDir)
}
for _, file := range files {
// 输出绝对路径
strAbsPath, errPath := filepath.Abs(path + "/" + file.Name())
if errPath != nil {
fmt.Println(errPath)
}
arr = append(arr,strAbsPath)
// fmt.Println(strAbsPath)
}
fmt.Println(arr)
return arr
}
//export tttt
func tttt(folder *C.char) {
path := C.GoString(folder)
fmt.Println(path)
}
func main() {
// tttt("C:\\Users\\binzs\\Desktop\\test")
}
Python 文件
import ctypes
import time
run = ctypes.CDLL('C:/Users/binzs/Desktop/test/listdir.so')
target = 100000000
a = []
path = "C:/Users/binzs/Desktop/test"
us = path.encode('utf-8')
print(us)
startTime = time.time()
print(startTime)
# run.ListDir.argtypes = [ctypes.c_char_p]
# run.ListDir.restype = ctypes.c_char_p
a = run.ListDir(us)
endTime = time.time()
print(endTime)
print(endTime - startTime)
报错
PS C:\Users\binzs\Desktop\test> python test.py
C:/Users/binzs/Desktop/test
1586002351.38
2020/04/04 20:12:31 open : The system cannot find the file specified.
有大神知指点下吗 谢谢