原文:https://www.cnblogs.com/huchong/p/8244279.html

另一篇关于.pyc文件是什么?  原文: http://blog.sina.com.cn//s/blog_17bce02530102ya3k.html

一:什么是pyc文件?

  pyc文件就是 py程序编译后得到的文件,是一种二进制文件。一般是这样的:

  

  pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。如果py文件改变,也会重新生成pyc文件。

  二:pyc文件怎么生成的?

  1,被当做模块调用的时候会自动生成pyc文件

  一般是python脚本被当做模块被其他脚本文件调用时,就会产生pyc文件,举个例子:

  如果你写了一个脚本文件image.py是用来生成验证码的,如果你在index.py文件中想引用这个脚本的功能,就需要通过import导入image.py文件,然后,如果你运行index.py文件,那就会在image.py文件所在的路径生成一个image.pyc文件。

  2,对于py文件,可以执行下面命令来生成pyc文件。

  

  3,通过代码来生成pyc文件。

  

  三:为什么要生成pyc文件?

  1,python为了提高运行效率也会进行编译

  python是解释型语言,运行的时候需要通过python解释器编译,所以先编译出pyc文件后,可以节省编译这一步的耗时时间。

  2,不想让源码泄露。

  因为py文件是可以直接看到源码的,对于一般的商业公司来说,这有点不妙,因为pyc文件可以独立于py文件,删除py文件也不会出错。这就是太好了,只需要编译成pyc文件再发布出去就好了。

Python中的单例模式的几种实现方式和优化以及pyc文件解释(转)的更多相关文章

  1. Python中的单例模式的几种实现方式的优缺点及优化

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  2. Python中的单例模式的几种实现方式的及优化

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  3. python中package机制的两种实现方式

    当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件. 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/loca ...

  4. python中for循环的三种遍历方式

    #!/usr/bin/env python# -*- coding: utf-8 -*-if __name__ == '__main__': list = ['A', 'B', 'C', 'D'] # ...

  5. python中主要存在的四种命名方式:

    1.object  -- 公用方法 2._object -- 办保护 (1)被看做是‘protect’,意思是只用类对象和自来对象自己能访问的变量 (2)在模块或类外不可以使用,不能用 ‘from m ...

  6. Python学习笔记之在Python中实现单例模式

    有些时候你的项目中难免需要一些全局唯一的对象,这些对象大多是一些工具性的东西,在Python中实现单例模式并不是什么难事.以下总结几种方法: 使用类装饰器 使用装饰器实现单例类的时候,类本身并不知道自 ...

  7. Python 单例模式的几种实现方式

    单例模式的几种实现方式 先来看几个魔法方法的简单运用:__new__, __init__, __call__. class A(object): def __init__(self, x): prin ...

  8. JAVA中单例模式的几种实现方式

    1 线程不安全的实现方法 首先介绍java中最基本的单例模式实现方式,我们可以在一些初级的java书中看到.这种实现方法不是线程安全的,所以在项目实践中如果涉及到线程安全就不会使用这种方式.但是如果不 ...

  9. python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...

随机推荐

  1. Tosca:设置执行结束时间

  2. shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句

    shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...

  3. Python3基础 函数 参数 多个参数都有缺省值,需要指定参数进行赋值

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  4. flutter中的listview的使用

    import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends Statele ...

  5. RabbitMQ 入门教程(PHP版) 第二部分:工作队列(Work queues)

    工作队列 在第一篇教程中,我们已经写了一个从已知队列中发送和获取消息的程序.在这篇教程中,我们将创建一个工作队列(Work Queue),它会发送一些耗时的任务给多个工作者(Works ). 工作队列 ...

  6. python之参数解析模块argparse

    2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 简单入门 先来看个例子: argparse_test.py: import ...

  7. 安装kubernet(k8s)

    简介: 需要学习的都明白,这里就不赘述了. 本文采用CentOS-7-x86_64-DVD-1810.iso 一:安装操作系统 本来是喜欢用fedora的,但是fedora貌似包维护的不好,就又开始用 ...

  8. 【Leetcode_easy】1154. Day of the Year

    problem 1154. Day of the Year solution class Solution { public: int dayOfYear(string date) { // 平年 闰 ...

  9. shell每隔一秒钟就记录下netstat状态

    说明 木马可能类似随机发送心跳包的操作,随机sleep.对这类情况写好了一个监听shell脚本,每隔一秒钟就记录下netstat状态. 代码 #!/bin/bash #功能:用于定时执行lsof 和 ...

  10. robot:根据条件主动判定用例失败或者通过

    场景: 当用例中的断言部分需要满足特定条件时才会执行,如果不满足条件时,可以主动判定该用例为passed状态,忽略下面的断言语句. 如上图场景,当每月1号时,表中才会生成上月数据,生成后数据不会再有改 ...