精华内容
下载资源
问答
  • 下面以getpass为例查看其代码。(推荐学习:Python视频教程)1.help(getpass)输入该命令找到file路径,并且可以查看其其提供的功能。2.利用getpass.__file__查看位置最后找到该文件,用记事...

    众所周知,Python内建了许多函数模块,并且我们可能还会安装许多第三方模块等等。

    查看安装了哪些模块可以在命令行输入pip list获取(要先配置python的环境变量)。

    5d195f9c0bcdf752.jpg

    下面以getpass为例查看其源代码。(推荐学习:Python视频教程)

    1.help(getpass)

    输入该命令找到file路径,并且可以查看其其提供的功能。

    2.利用getpass.__file__查看位置

    最后找到该文件,用记事本或其他编辑器打开即可。

    3.PyCharm编辑器

    在该类或方法上按住“ctr+鼠标左键”可以快速查看源代码。

    4.dir(对象名)

    该方法可以快速查看有哪些方法。

    想要查看每个功能的解释,用help(type(对象名))

    5.查看API

    这个应该不用说大家都会使用吧。

    给个API下载链接:http://pan.baidu.com/s/1qYx6BPa

    如果chm打开有问题,可以点击该链接看看:https://jingyan.baidu.com/article/a948d65145f6ad0a2dcd2eae.html

    这些API都是自己收集很久的了,分享出来希望对大家有帮助。

    6.网络上查看

    推荐网址:https://github.com/python/cpython/tree/3.5/Modules

    更多Python相关技术文章,请访问Python教程栏目进行学习!

    以上就是如何查看python源代码的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 加密Python源代码笔记

    万次阅读 2018-01-27 21:52:23
    本人基于项目需求,从网上搜集了一些关于Python源代码加密的内容,在此做一个总结,以供参考。加密Python源代码主要有几下方法: 将py文件编译成pyc、pyo文件进行发布 # 编译成pyc的方法如下:# 编译单个文件# ...

    本人基于项目需求,从网上搜集了一些关于Python源代码加密的内容,在此做一个总结,以供参考。

    加密Python源代码主要有几下方法:

    • 将py文件编译成pyc、pyo文件进行发布
    # 编译成pyc的方法如下:
    
    # 编译单个文件
    
    # 命令行下:
    python -m py_compile /path/to/待编译.py 
    
    # python代码:
    import py_compile 
    py_compile.compile(r'/path/to/待编译.py') 
    
    # 编译多个文件,未试验过,目测需要将待编译文件都放入一个文件夹中,且不能包含其他文件
    
    # 命令行下:
    python -m py_compile /path/to/{待编译脚本1,脚本2,...}.py
    # 或者
    python -m py_compile /path/to/
    
    # python代码:
    import compileall
    compileall.compile_dir(dirpath)
    
    # 编译成pyo的办法如下:
    # 注:pyo仅为pyc的一种优化格式,并不是说加密程度会更高
    python -O -m py_compile /path/to/待编译.py
    需要注意的是,编译成pyc或者pyo文件后需要将命名改成与源Python命名一致,将其放在源目录下,虽然其他python文件调用pyd时显示不能检测到该模块,但实际上可以运行。
    
    由于pyc的编译收到python版本的影响,所以当将编译后的pyc迁移到另一台电脑中时,最好保持python环境一致。
    
    • 打包成可执行文件

      经过简单的调查,发现pyinstaller这个打包工具比较受人欢迎,经它打包后的exe文件可以在无python的环境下运行。因此本人对此进行了测试,结果发生报错,具体报错内容忘了,但是大体意思是打包时关联内容挖掘的过深,超过最大限度,估计原因可能是项目中代码的引用内容过多,或者是引用内容的依赖包过多,导致无法成功打包。

    • 使用cpython将python代码编译成C/C++,然后再编译成python扩展模块,windows上为pyd文件,Linux上为so文件

      注:pyd文件实际就是dll文件

    # 编译成pyd的方法如下:
    
    # 命令行下:(在项目目录下打开命令行或者shell,该命令只能编译一个文件,编译之后会发现出现三个文件,yourmod.c、yourmod.html、yourmod-win_amd64.pyd,此时将c、html和原py文件删除,将pyd文件命名更改为yourmod就可以)
    cythonize -a -i yourmod.pyx
    
    # python代码:(在原项目中编写setup.py文件)
    
    from distutils.core import setup
    from Cython.Build import cythonize
    import os
    
    '''
    该文件的执行需要的在Terminal中输入   python setup.py build_ext --inplace !!!
    使用Cpython 编译python文件,关键函数编译成pyd文件(相当于dll)
    '''
    # 针对多文件情况设置,单文件就只写一个就行
    key_funs = ["yourmod1.py", "yourmod2.py", "yourmod3.py"]
    
    setup(
        name="XX app", 
        ext_modules = cythonize(key_funs),
    )
    
    '''
    1、将编译后的pyd文件的命名更改成与原py文件一致
    2、删除编译后得到的c文件和原py文件
    '''
    
    print("——————", os.getcwd(), "——————")
    
    files = os.listdir(os.getcwd())
    print(files)
    
    for fi in files:
        if fi.__contains__(".pyd"):
            re_name = fi.split(".")[0] + ".pyd"
            print(re_name)
            os.rename(fi, re_name)
        elif fi.__contains__(".c") or fi in key_funs:
            os.remove(fi)
    
    # 运行方式 在原目录的命令行下执行
    python setup.py build_ext --inplace
    
    需要注意的是pyd文件在被其它python文件调用时依然不能被识别,但能够运行,而且setup.py的文件的执行需要的在Terminal中输入   python setup.py build_ext --inplace !!!
    
    基于pyc、pyo容易破解的原因,建议使用pyd文件进行发布,但python3下pyc、pyo文件的破解本人未经试验,只是听说,故具体选择哪种方式大家可根据具体情况进行选择。
    
    展开全文
  • python源代码下载地址

    千次阅读 2014-09-10 14:01:46
    Python 代码下载地址 http://ftp.python.org/ftp/python/ http://www.python.org/ftp/python/
    展开全文
  • 利用pyarmor进行动态加解密python源代码 当我们需要对python代码加密的时候,pyarmor是一个很好的选择。它能够在运行时时刻保护python脚本的二进制代码不被泄露,可以设置加密后python源代码的有效期限,绑定加密后...

    利用pyarmor进行动态加解密python源代码

    当我们需要对python代码加密的时候,pyarmor是一个很好的选择。它能够在运行时时刻保护python脚本的二进制代码不被泄露,可以设置加密后python源代码的有效期限,绑定加密后python源代码到硬盘、网卡等硬件设备。

    1 目录结构

    在这里插入图片描述

    2 代码实现
    import os
    import time
    
    source_flag = "test"
    dest_flag = "test4"
    
    def load_dir(rootDir):
        for root,dirs,files in os.walk(rootDir):
            for file in files:
                file_name = os.path.join(root, file)
                if file_name.split('.')[-1] == "py":
                    new_file_name = file_name.replace(source_flag, dest_flag)
                    obfuscate_file(file_name, new_file_name)
            for dirname in dirs:
                load_dir(dirname)
    
    def obfuscate_file(file_name, new_file_name):
        base_dir = os.path.join(os.path.dirname(__file__), "dist")
        new_file_dir = os.path.dirname(new_file_name)
        if not os.path.exists(new_file_dir):
            os.makedirs(new_file_dir)
        # 执行py文件加密操作
        try:
            os.system("pyarmor obfuscate {}".format(file_name))
            time.sleep(5)
        except RuntimeError as e:
            print("obfuscate error !!!", e)
        obfuscate_file_name = os.path.join(base_dir, os.path.basename(file_name))
        print(obfuscate_file_name)
        fr = open(obfuscate_file_name, "r", encoding="utf-8")
        fw = open(new_file_name, "w", encoding="utf-8")
        # 执行加密文件读写操作
        try:
            print("read file start ----->")
            content = fr.readlines()[2:]
            print("read file end ----->{}".format(content))
            print("write file start ----->")
            fw.writelines(content)
            print("write file end")
            time.sleep(10)
        except FileNotFoundError as e:
            print("file not found",e)
        finally:
            fr.close()
            fw.close()
    
    
    if __name__ == '__main__':
        rootDir = r"D:\\python_runner\\test"
        load_dir(rootDir)
    
    3 生成加密文件

    执行加密程序,自动在dist目录下,生成4个运行加密代码依赖文件

    在这里插入图片描述

    4 加密后的python文件

    在这里插入图片描述

    新的工程目录下,都是python加密后代码,如cc.py

    __pyarmor__(__name__, __file__, b'\xec\x50\x8c\x64\x26\x42\xd6\x01\x10\x54\xca\x9c\xb6\x36\x84\x05\x6a\x0b\xf3\xc4\x16\x01\xb8\x41\xc4\xf1\x0b\xa9\x3e\xbe\x09\x36\x8f\x82\x24\x3c\x5a\x2f\x1f\x92\xfb\x10\xfe\x04\x90\xaf\x3c\x2d\xbb\x09\x1b\xa3\x71\xc4\x07\x12\x1e\x9a\x36\xe6\xab\xf5\xa2\x03\xf1\xb0\x63\x03\xa4\xeb\x1c\xbe\x87\x3b\xd3\xc4\x01\x1f\x57\xd8\xb8\xb8\xf6\xcf\x61\x4c\xe3\x4a\xc2\xb0\x24\xa9\xfc\xf0\x8b\xde\x88\xa5\x25\x63\x6b\x49\x3b\xcb\x51\x36\x3e\x7f\x70\xae\xa1\xc2\xd5\xde\x71\xff\x91\xa4\x3a\x97\x5b\x57\x07\x70\x9b\x53\xc1\xa6\xb9\x8d\x2d\x0d\x2b\x7b\x61\x1b\xa6\x2f\xbe\xe5\xba\x8d\x41\x4b\x0e\x67\xbf\x23\xbb\xdd\x9d\x89\xff\x85\x4f\x1a\x72\x3d\x5a\xf2\x4a\x12\x28\x69\x66\x9b\x51\x40\x22\x62\xe1\x94\xf0\x71\x04\x28\x79\x5e\xc5\xbc\xa5\x72\x7b\x3f\xad\x3c\x6c\x9c\x5e\xd3\x47\xa7\x01\xaf\xf6\xb8\xe9\x7c\x0d\xa1\x4c\x72\x85\x72\x0f\xd3\x51\x23\xf0\x09\x4b\xda\x47\xa8\xc1\xb7\xbf\x40\xee\xa3\xc6\x2e\x2b\xea\x12\x57\xc7\x67\x30\xd2\xbd\x62\xde\xfc\x0f\xc9\x49\x5d\x64\xd6\xe6\xf0\x8f\x7b\xaa\xd4\x4e\x48\x93\xd8\x2d\xc9\x8a\x19\xa6\xaf\xd0\x18\xe4\xed\xf3\x45\xb9\x5e\xbd\xf4\x9a\x57\xa8\x84\x38\x7c\x07\x5e\xbb\xd7\x01\x90\xfa\xf8\x19\x34\xb6\x90\x3b\x06\xc5\x3c\x02\x98\xac\xf1\x18\x04\x01\xbb\x37\xbe\xe9\x4d\xa9\xb8\x7f\x53\xee\x08\x1b\xf3\xcd\x1b\x53', 1)
    
    5 测试加密后代码
    from pytransform import pyarmor_runtime
    pyarmor_runtime()
    
    from test4.aa.cc.cc import cc
    
    cc() # cc
    
    展开全文
  • 如何汉化并编译 Python 代码

    千次阅读 2019-11-12 07:47:50
    如何汉化并编译 Python 代码前言参考文章我的工具关键字汉化其他代码汉化Linux 下编译Windows 下编译汉化效果演示 前言 笔者是一名业余编程爱好者,年初偶然混进中文编程OO群。因觉得中文编程乃大势所趋,遂入了...
  • 一、首先为什么要使用pyd文件? 我们知道Python是一门解释型语言,当我们想让...因此当我们想保护我们的源代码(算法保护)或者防止用户篡改源代码时,可以将Python源代码编译生成.pyd库文件或者.so库文件(Windo...
  • VS2005编译Python源代码

    千次阅读 2015-05-27 10:12:19
    一、下载Python源代码 https://www.python.org/downloads/source/ 下载2.5.6版本的Python源代码压缩包,然后解压,得到以下Python的源代码文件夹 二、其中的PC,PCbuild,PCbuild8分别提供了VC++6.0,VS2003,VS...
  • Python源程序(.py)转换为可执行文件(.exe)

    万次阅读 多人点赞 2019-05-19 10:41:17
    Python源程序(.py)转换为可执行文件(.exe) 由于Python程序的执行依赖于其环境,不能在操作系统下直接运行,因此在某些情况下需要将将Python源程序(.py文件)转换为可执行文件(.exe文件),这篇文章就来告诉...
  • python源代码编译(基于centos7)

    千次阅读 2016-12-19 13:54:06
    如何快速的搭建python源代码的开发环境? 基础环境:centos7.1 1、获取源代码 git镜像 python官方ftp服务器 以2.7.5为例子 wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz 2、生成编译目录 你...
  • vscode选择python源

    千次阅读 2019-03-29 17:58:07
    由于先在Windows上装了python,又在上面装了anaconda,所以,vscode跑的时候可以选择不同的python 点击vscode的左下角就可以在右上角进行选择了。
  • 解决python源代码中编码问题

    千次阅读 2015-10-19 21:07:42
    python源代码中如果含有中文字节,则有可能在执行过程中出现错误。这个原因是源代码的编码方式不同。 解决方法是在源代码开头前两行增加一条语句 #-*- coding: UTF-8-*- 或者 #coding:utf8   PS:这一句代码必须加...
  • python源修改为豆瓣源

    2019-02-20 18:07:07
    临时使用 ...永久使用 找到python的安装路径 然后找到Lib\site-packages\pip\commands下的search.py文件,里面有如下两行代码 from pip.models import PyPI default=PyPI.pypi_url, 可以看出来PyPI....
  • python源代码加密

    千次阅读 2019-05-09 14:07:47
    pip install cython yum install python-devel yum install gcc 加密代码为setup.py: 在虚拟中,建立项目的虚拟环境,启动该环境; 将此代码放入项目根目录下; 使用python setup.py执行,结束后查...
  • python源代码文件加密

    千次阅读 2019-08-21 12:53:40
    pyc文件是py文件经过编译后生成的二进制文件,因此可以发布pyc文件以隐藏代码。pyc文件拥有更快的加载速度,执行速度没有区别。pyc是一种跨平台的字节码,pyc的内容是跟python的版本相关的,不同版本编译后的pyc...
  • mac 切换python源

    千次阅读 2019-03-09 22:28:21
    有的朋友要改pypi mac没有.pip文件夹很正常 因为要自己建 在终端进入目录:cd ~/ 如果没有 .pip 文件夹,那么就要新建这个文件夹,mkdir .pip 然后在.pip 文件夹内新建一个文件 touch pip.conf, 最近...
  • 如何查看Python源代码

    千次阅读 2019-09-27 23:49:53
    众所周知,Python内建了许多函数模块,并且我们可能还会安装许多第三方模块等等。 查看安装了哪些模块可以点击链接进行查看:http://www.cnblogs.com/ChenHaiLing/p/7383424.html 下面以getpass为例查看其代码。...
  • 编译Python源代码

    千次阅读 2016-06-29 18:15:48
    标题无“转载”即原创文章,版权所有。...再加上脚本语言的名头,有些不太了解Python的朋友就以为Python没有编译这个过程。其实,虽然Python是脚本语言,但它与Java和C#一样,只能执行字节码。只是Python将编译过程隐藏
  • 介绍Python代码混淆工具,可以对代码进行混淆处理,保证功能不变但代码基本不可读。 注意大部分混淆工具都是可逆的,例如编译生成pyc文件可以用https://github.com/wibiti/uncompyle2来解码。 pyminifier ...
  • 编写一个程序,读取一个Python源程序文件source.py,将文件中所有除保留字外的小写字母换成大写字母。生成后的文件要能够被Python解释器正确执行。 我不知道还有什么其他方法可以从列表中把单词逐个分离出来 所以...
  • 最引人注意的是,这增强了代码中Unicode字符的解释。问题描述在Python 2.1中,Unicode字符只能使用基于Latin-1的“unicode-escape”编码编写。 这对生活和工作在非Latin-1语言环境(如许多亚洲国家)的Python用户...
  • 对于国内用户来说,由于网络原因,下载速度太慢,因此推荐使用国内镜像站点。目前,比较常用的pip镜像站点有: 清华大学https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科大:https://mirrors.us...
  • python源修改为豆瓣源的几种方法

    千次阅读 2019-02-19 15:58:12
    临时使用 pip install ...永久使用 就要找到python的安装路径 然后找到Lib\site-packages\pip\commands下的search.py文件,发现里面有如下两行代码 from pip.models import PyPI default=PyPI.pypi_url, ...
  • Python源代码保密、加密、混淆

    万次阅读 2018-04-23 15:17:09
    有时候用Python开发一些功能但不希望用户得到代码,就希望对Python代码加一些保密措施。目前可行的方案可能是将核心代码用cython编译成os文件。分析如下: 1.用pyc或pyo文件代替 生成方式看这里。Python作为...
  • Python源代码中使用中文编码

    千次阅读 2008-01-06 16:18:00
    当在Python源代码中使用中文字符串时,如果没有指定编码格式,运行会出错,必须在第一行或者第二行加上# coding=gbk 才能够正常运行。参见:http://www.python.org/dev/peps/pep-0263/
  • Python 代码代码打包成 whl 文件

    千次阅读 2019-05-17 10:59:00
    1.检查 python setup.py check 2.打包 python setup.py sdist bdist_wheel || true 转载于:https://www.cnblogs.com/wangjq19920210/p/10880201.html
  • 国内常用的几个python

    千次阅读 2019-03-29 18:35:54
    公司内部安装python的pypi插件方法,安装方法 pip3 install -i https://mirrors.zte.com.cn/pypi/simple pyqt5 --trusted-host mirrors.zte.com.cn 阿里云 https://mirrors.aliyun.com/pypi/simple/ 中国科技大学 ...
  •  #python3中input输入的都是字符串而不是整数类型  a,b,c=int(a),int(b),int(c)  #判断a是否为0  if a==0 :  return -c/b  m = (-b-math.sqrt(b*b-4*a*c))/2*a  n = (-b+math.sqrt(b*b-4*a*c))/2*a  return ...
  • Python 是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释型语言。所谓编译执行就是代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,615
精华内容 19,446
关键字:

python源

python 订阅