首页   注册   登录

explist

  •   V2EX 第 127907 号会员,加入于 2015-07-19 15:55:45 +08:00
    explist 最近回复了
    PY 解释器被多次初始化?
    @NoAnyLove py 中用的 CDLL 与 GCC 中的默认调用约定一致;至于说参数传递,2 楼处不传任何参数的函数有同样的异常,也能说明问题
    @NoAnyLove
    没解决呢
    @vainl1
    还是不行,二楼就能说明问题不能这样解决
    指针本身是复制的
    @vainl1
    地址打不开?
    这样设计也不行:

    def myencode():
    print("encode_func...")
    #------------------------------------
    int encode ( )
    {
    Py_Initialize();
    if(!Py_IsInitialized()) return 1;

    int flg = PyRun_SimpleString("import encode as ls\nls.myencode()");

    Py_Finalize();
    return flg;
    }
    #-----------------------------------

    #--- 最后是 PY 中的测试代码 test.py----

    from ctypes import CDLL

    path = r'c:\test\Myencode.dll'

    dll = CDLL(path)

    print( dll.encode() ) # 这里还是会抛类似的异常(只是地址不同)
    235 天前
    回复了 explist 创建的主题 Python 如何自己实现文件粉碎机?
    用 mmap 时未发现能恢复
    235 天前
    回复了 explist 创建的主题 Python 如何自己实现文件粉碎机?
    def myRemoveFiles():
    '''彻底删除文件'''
    paths = selecFile(title='选择要删除的文件') #
    if paths:
    if tm.askokcancel('重要提示!','确定永久删除吗?'):
    fn = '_Test{}_.tmp'
    _dir = os.path.dirname(paths[0])
    for i, _file in enumerate(paths):
    try:
    # fsize = os.path.getsize(_file)
    # with open(_file,'rb+') as f:
    # for _ in range(3):
    # f.seek(0,0)
    # f.write(os.urandom(fsize))

    fd = os.open(_file,os.O_RDWR)
    with mmap.mmap(fd,0,access=mmap.ACCESS_WRITE) as m:
    m.write(os.urandom(m.size()))
    m.flush()
    os.close(fd)

    file = os.path.abspath(os.path.join(_dir,fn.format(i)))
    os.rename(_file,file)
    os.remove(file)

    print(_file,"OK")
    except Exception as err:
    print(_file,str(err))
    235 天前
    回复了 explist 创建的主题 Python 如何自己实现文件粉碎机?
    我们对指针进行再操作的时候,肯定会覆盖(破坏)指针指向地址的数据,那么对于文件对象为什么从文件首开始写操作,不能破坏其数据?
    那么利用 mmap 模块,对文件建立内存映射,再对映射进行全员覆盖,这样会有不同吗?
    235 天前
    回复了 explist 创建的主题 Python 如何自己实现文件粉碎机?
    为了进一步验证,我把上面函数中关于重命名及删除文件的代码注释掉,执行完后,原文件大小不变,内容为乱码!!
    为什么恢复后却是原本的内容而不是乱码?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2330 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 14ms · UTC 01:01 · PVG 09:01 · LAX 18:01 · JFK 21:01
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1