精华内容
参与话题
问答
  • python项目练习

    千次阅读 2018-06-06 14:33:48
    python项目 练习一:即时标记 python项目 练习二:画幅好画 python项目 练习三:万能的XML python项目 练习四:新闻聚合 python项目 练习五:虚拟茶话会 python项目 练习六:使用CGI进行远程编辑 python项目 ...

    python项目
    练习一:即时标记 python项目
    练习二:画幅好画 python项目
    练习三:万能的XML python项目
    练习四:新闻聚合 python项目
    练习五:虚拟茶话会 python项目
    练习六:使用CGI进行远程编辑 python项目
    练习七:自定义公告板 python项目
    练习八:使用XML-RPC进行远程文件共享 python项目
    练习九:文件共享2-GUI版本 python项目
    练习十:DIY街机游戏


    我的ubuntu上的python既有2.x版本,也有3.x版本。我想随时切换版本,可以进行如下操作:

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

    然后要切换python版本时

    sudo update-alternatives --config python

    会出现系统中已有的python版本,输入想使用版本的编号即可

    展开全文
  • Python项目打包发布方法

    万次阅读 多人点赞 2018-12-29 11:56:07
    目前python打包工具有多个,目前比较好用的为pyinstaller,该工具可以支持在window和linux下使用。 在windows下,大小为几十K的源文件打包成exe文件,可能为几十兆,原因是把程序所引用的库文件也一起打包在一起。...

     

          目前python打包工具有多个,目前比较好用的为pyinstaller,该工具可以支持在window和linux下使用。

          在windows下,大小为几十K的源文件打包成exe文件,可能为几十兆,原因是把程序所引用的库文件也一起打包在一起。

          如下以windows系统为例,分2个步骤,演示如何使用pyinstaller打包。

          第1步:安装pyinstaller

          安装pyinstaller之前首先必须有pip,如果还没有安装,请用度娘搜索“python安装pip”,资源丰富,在此不再介绍,使用pip安装pyinstaller的命令如下:

    pip install pyinstaller

          命令执行的截图如下,直至安装完毕,我仅截取了前面部分打印信息。

          第2步:打包exe文件

          如果是打包一个py文件,可以使用“pyinstaller -F 待打包文件名”进行打包,在命令执行完毕后,会在dist目录下生成一个“待打包文件名.exe”的文件。如果不使用“-F”参数,则会在dist目录下生成一个“待打包文件名”的文件夹,该文件夹下包含“待打包文件.exe”,但是要整个文件夹在一起才能正常工作,因为这个文件夹的功能相当于使用“-F”时的一个“待打包文件.exe”。

          使用加F参数打包成一个exe文件的操作截图如下:

           使用“F”强制打包参数,有时会导致软件功能运行不正常,仅限于小的范例使用,如果项目有多个py文件,则建议别再使用“F”参数。

          如果项目有多个文件,打包时可以把多个文件列出来,中间用空格隔开即可。

          如果需要修改默认图标为指定图标,则使用“-i  图标文件名”来实现。

          如下为使用多个py文件和图标的打包截图。

          pyinstaller的参数见下表,大家可以在需要时参考。

    参数 参数全称 参数说明

    -F

    –onefile

    打包成单个可执行文件,如果你的代码都写在一个.py文件,则可以使用,如果是多个.py文件,建议不要使用。

    -D

    –onedir

    打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,该方式代码较易于维护。

    -K –tk 在部署时包含 TCL/TK。
    -a –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码。
    -d –debug

    产生debug版本的可执行文件

    -w –windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(仅对Windows有效)
    -c –nowindowed,–console

    使用控制台子系统执行(默认)(只对Windows有效)

    pyinstaller -c  xxxx.py

    pyinstaller xxxx.py --console

    -s –strip

    可执行文件和共享库将run through strip。

    注意Cygwin的strip可能使普通的win32 Dll无法使用

    -X –upx 如果有UPX安装(执行Configure.py时检测),则会压缩执行文件(Windows系统中的DLL也会)
    -o DIR –out=DIR 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下。
    -p DIR –path=DIR

    设置导入路径(和使用PYTHONPATH效果相似)。

    可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源

    -i <FILE.ICO> –icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标  pyinstaller -i  ico路径 xxxxx.py
    –i <FILE.EXE, N> –icon=<FILE.EXE, N>

    将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)

    -v FILE –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
    -n NAME –name=NAME

    可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    如果你喜欢这篇文章,别忘了点赞和评论哦!

    展开全文
  • Python项目开发案例集锦及配套代码

    万次阅读 多人点赞 2019-11-27 20:57:31
    Python项目开发案例集锦及配套代码,有需要的自己下载: 链接:https://pan.baidu.com/s/1JTP5WNgtCcjmIURqk2T_4A 提取码:qvz1

    Python项目开发案例集锦及配套代码,适合初学了解python项目,有需要的自己下载:
    链接:https://pan.baidu.com/s/1JTP5WNgtCcjmIURqk2T_4A
    提取码:qvz1

    展开全文
  • Python项目:学生信息管理系统(完整版)

    万次阅读 多人点赞 2018-06-06 19:11:10
    本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能。 主要包括有: 完善部分:输入错误;无数据查询等异常错误 新的功能:文件的操作:文件的读写,其中重点是对文本字符...

            本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能。

    主要包括有:

                完善部分:输入错误;无数据查询等异常错误

                新的功能:文件的操作:文件的读写,其中重点是对文本字符串的详细解析(关于整个解析拆解和重组详见代码,以及添加了注释)

    完整代码 https://github.com/hilqiqi0/sample/blob/master/student_info.py

    学生信息管理系统(完整版)

     

    学生信息管理项目,要求带操作界面,并完成每项操作:
    +----------------------+
    | 1)添加学生信息             |
    | 2)显示所有学生的信息          |
    | 3)删除学生信息             |
    | 4)修改学生信息             |
    | 5)按学生成绩高-低显示学生信息     |
    | 6)按学生成绩低-高显示学生信息     |
    | 7)按学生年龄高-低显示学生信息     |
    | 8)按学生年龄低-高显示学生信息     |
    | 9)保存学生信息到文件(students.txt)           |
    | 10)从文件中读取数据(students.txt)           |
    | 退出:其他任意按键<回车>                             |

    +----------------------+   

    详细代码如下:

    # student_info.py
    # 学生信息管理项目,要求带操作界面,并完成每项操作:
    # +----------------------+
    # | 1)添加学生信息                      |
    # | 2)显示所有学生的信息                 |
    # | 3)删除学生信息                      |
    # | 4)修改学生信息                      |
    # | 5)按学生成绩高-低显示学生信息         |
    # | 6)按学生成绩低-高显示学生信息         |
    # | 7)按学生年龄高-低显示学生信息         |
    # | 8)按学生年龄低-高显示学生信息         |
    # | 9)保存学生信息到文件(students.txt)      |
    # | 10)从文件中读取数据(students.txt)      |
    # | 退出:其他任意按键<回车>                 |
    # +----------------------+                        |
    
    
    def meun():
        menu_info = '''+----------------------+
    | 1)添加学生信息                           |
    | 2)显示所有学生的信息                     |
    | 3)删除学生信息                           |
    | 4)修改学生信息                           |
    | 5)按学生成绩高-低显示学生信息           |
    | 6)按学生成绩低-高显示学生信息           |
    | 7)按学生年龄高-低显示学生信息           |
    | 8)按学生年龄低-高显示学生信息           |
    | 9)保存学生信息到文件(students.txt)      |
    | 10)从文件中读取数据(students.txt)      |
    | 退出:其他任意按键<回车>                 |
    +----------------------+
    '''
        print(menu_info)
    
    
    # 以下二个函数用于sorted排序, key的表达式函数
    def get_age(*l):
        for x in l:
            return x.get("age")
    def get_score(*l):
        for x in l:
            return x.get("score")
            
    # 1)添加学生信息
    def add_student_info():
        L = []
        while True:
            n = input("请输入名字:")
            if not n:  # 名字为空 跳出循环
                break
            try:
                a = int(input("请输入年龄:"))
                s = int(input("请输入成绩:"))
            except:
                print("输入无效,不是整形数值....重新录入信息")
                continue
            info = {"name":n,"age":a,"score":s}
            L.append(info)
        print("学生信息录入完毕!!!")
        return L
    
    # 2)显示所有学生的信息
    def show_student_info(student_info):
        if not student_info:
            print("无数据信息.....")
            return
        print("名字".center(8),"年龄".center(4),"成绩".center(4))
        for info in student_info:
            print(info.get("name").center(10),str(info.get("age")).center(4),str(info.get("score")).center(4))
    
    # 3)删除学生信息
    def del_student_info(student_info,del_name = ''):
        if not del_name:
            del_name = input("请输入删除的学生姓名:")
        for info in student_info:
            if del_name == info.get("name"):
                return info
        raise IndexError("学生信息不匹配,没有找到%s" %del_name)
    
    # 4)修改学生信息
    def mod_student_info(student_info):
        mod_name = input("请输入修改的学生姓名:")
        for info in student_info:
            if mod_name == info.get("name"):
                a = int(input("请输入年龄:"))
                s = int(input("请输入成绩:"))
                info = {"name":mod_name,"age":a,"score":s}
                return info
        raise IndexError("学生信息不匹配,没有找到%s" %mod_name)
    
    # 5)按学生成绩高-低显示学生信息
    def score_reduce(student_info):
        print("按学生成绩高-低显示")
        mit = sorted(student_info ,key = get_score,reverse = True)
        show_student_info(mit)
    
    # 6)按学生成绩低-高显示学生信息
    def score_rise(student_info):
        print("按学生成绩低-高显示")
        mit = sorted(student_info ,key = get_score)
        show_student_info(mit)
    
    # 7)按学生年龄高-低显示学生信息
    def age_reduce(student_info):   
        print("按学生年龄高-低显示:")
        mit = sorted(student_info ,key = get_age,reverse = True)
        show_student_info(mit)
    
    # 8)按学生年龄低-高显示学生信息
    def age_rise(student_info): 
        print("按学生年龄低-高显示:")
        mit = sorted(student_info ,key = get_age)
        show_student_info(mit)
    
    # 9)保存学生信息到文件(students.txt)
    def save_info(student_info):
        try:
            students_txt = open("students.txt","w")     # 以写模式打开,并清空文件内容
        except Exception as e:
            students_txt = open("students.txt", "x")    # 文件不存在,创建文件并打开
        for info in student_info:
            students_txt.write(str(info)+"\n")          # 按行存储,添加换行符
        students_txt.close()
    
    # 10)从文件中读取数据(students.txt) 
    def read_info():
        old_info = []
        try:
            students_txt = open("students.txt")
        except:
            print("暂未保存数据信息")                       # 打开失败,文件不存在说明没有数据保存
            return
        while True:
            info = students_txt.readline()
            if not info:
                break
            # print(info)
            info = info.rstrip()    # 去掉换行符
            # print(info)
            info = info[1:-1]       # 去掉{}
            # print(info)
            student_dict = {}       # 单个学生字典信息
            for x in info.split(","):   # 以,为间隔拆分
                # print(x)
                key_value = []      # 开辟空间,key_value[0]存key,key_value[0]存value
                for k in x.split(":"):  # 以:为间隔拆分
                    k = k.strip()       # 去掉首尾空字符
                    # print(k)
                    if k[0] == k[-1] and len(k) > 2:        # 判断是字符串还是整数
                        key_value.append(k[1:-1])           # 去掉 首尾的'
                    else:
                        key_value.append(int(k))
                    # print(key_value)
                student_dict[key_value[0]] = key_value[1]   # 学生信息添加
            # print(student_dict)
            old_info.append(student_dict)   # 所有学生信息汇总
        students_txt.close()  
        return old_info   
    
    def main():
        student_info = []
        while True:
            # print(student_info)
            meun()
            number = input("请输入选项:")
            if number == '1':
                student_info = add_student_info()
            elif number == '2':
                show_student_info(student_info)
            elif number == '3':
                try:
                    student_info.remove(del_student_info(student_info))
                except Exception as e:
                    # 学生姓名不匹配
                    print(e)            
            elif number == '4':
                try:                
                    student = mod_student_info(student_info)
                except Exception as e:
                    # 学生姓名不匹配
                    print(e)
                else:
                    # 首先按照根据输入信息的名字,从列表中删除该生信息,然后重新添加该学生最新信息
                    student_info.remove(del_student_info(student_info,del_name = student.get("name")))  
                    student_info.append(student)
            elif number == '5':
                score_reduce(student_info)
            elif number == '6':
                score_rise(student_info)
            elif number == '7':
                age_reduce(student_info)
            elif number == '8':
                age_rise(student_info)
            elif number == '9':
                save_info(student_info)
            elif number == '10':
                student_info = read_info()
            else:
                break
            input("回车显示菜单")
    
    main()
    

     

     

     

     

    展开全文
  • jenkins 构建python项目时,python项目已经可以启动了但是Jenkins还是一直构建,停不下来 ![图片说明](https://img-ask.csdn.net/upload/201907/08/1562580890_985773.png)
  • python项目打包部署

    千次阅读 2017-03-07 10:34:11
    作者:张博 ... 来源:知乎 ...浏览了以上所有人的答案,结合我平常在项目中的实际经验,谈谈我们团队的Python部署与发布流程。 目前很多公司还是用着石器时代的部署方式,怎么做呢? 1. 本地写代
  • 课程内容包括项目分析与设计过程、数据库设计过程、项目敏捷开发、MySQL数据库、Python访问数据库、面向对象、Lambda表达式、wxPython图形用户界面编程技术。 QQ服务群 628808216 目录 24.1 系统分析与设计 24.2...
  • Python项目管理

    千次阅读 2015-12-27 11:45:40
    那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢? 官方做法是使用Virtual Environments将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或...
  • Python项目之谷粒教育(一)

    千人学习 2019-05-06 14:51:36
    免费入群领取【超全Python资料包+17本学习电子书】 Django框架是python web开发的三大框架之一,如果你从事python web开发,那么这个框架是你不二的选择。 课程特点: 1、整个项目,从...
  • python项目之BBS论坛开发

    千人学习 2017-03-06 10:12:08
    Python Django网站开发教程,以BBS论坛开发为例,系统讲解如何基于Django框架搭建网站其功能...其中包含Django以及Web开发的知识点,如:多级评论、点赞、Ajax上传文件、验证码、Session等,项目小而精适合初学者上手。
  • 面向初级开发一套含有角色,权限,内容为一体的学员管理,抛弃传统的每个页面繁琐的增删改查,开发公共组件,使得开发者根据配置文件即可...【注:本节课可在学完《python项目之学员CRM管理系统开发阶段一》后学习】
  • python项目之博客系统开发

    千人学习 2017-03-06 10:04:08
    系统由于主站、个人博客、后台管理三部分组成,其中包含Web开发中的知识,如:多级评论、文章点赞、主题定制、iframe伪Ajax、CSRF、防止XSS攻击等,功能齐全并提供基础示例。
  • uWSGI部署python项目

    万次阅读 2019-06-06 15:26:32
    apt install python3-pip pip3 install django==2.2.1 2 创建一个简单的django项目 django-admin startproject proj cd proj/proj vi urls.py 添加红色部分的内容: 3 配置访问地址 vi settings.py ...
  • python项目部署

    千次阅读 2018-07-13 19:52:48
    项目开发完毕后,需要将代码放到服务器上,这样用户才能访问。接下来我们一步一步来进行一波部署操作 打包上传代码 项目开发完毕,在部署之前需要再配置文件中将 ALLOWED_HOSTS配置设置为:当前服务器IP或*,如:...
  • 新建Python项目

    千次阅读 2019-09-09 20:28:47
    新建项目 选择Python→ location(存储路径,位置)→选择解释器(base interpreter)→ 创建(create) location 位置 untitled 未命名的 create 创建 interpreter 解释器 FullStack 全栈 创建文件夹 ...
  • python项目之Web聊天软件开发

    千人学习 2017-03-06 10:16:30
    当前众多网站以及管理平台都有集成私信和聊天功能,本系列课程从零开始带大家开发一个支持发起私聊、群聊、发送文件、发送图片以及消息提醒的功能,并且包含对于Web聊天室的可实施方案的对比,如:轮训、长轮训、...
  • Python 项目布局

    千次阅读 2018-02-28 04:17:21
    项目结构应该保持简单,审慎地使用包和层次结构:过深的层次结构在目录导航时将如同梦魇,但过平的层次结构则会让项目变得臃肿。 一个常犯的错误是将单元测试放在包目录的外面。这些测试实际上应该被包含在软件的子...
  • Github社区python项目数据分析

    千次阅读 2018-01-18 12:38:25
    于是乎,我们也来凑个热闹,分析下github上火热的python项目。 使用API调用数据 首先我们打开自己的浏览器,在地址栏中输入下面的命令: https://api.github.com/search/repositories?q=language
  • Python项目骨架

    千次阅读 2017-03-27 16:40:12
    1. 项目骨架目录: 项目文件布局 自动测试代码 模块 安装脚本 建立新项目的时候,使用项目骨架进行编辑。 2. python软件包的安装 a. 安装pip $ wget ...
  • Python 项目转化为so文件

    千次阅读 2019-03-27 16:42:15
    python 安装:cython pip install cython linux 安装:python-devel,gcc yum install python-devel yum install gcc 初步编译 新建Test.py文件,内容如下 class test: def __init__(se...

空空如也

1 2 3 4 5 ... 20
收藏数 212,914
精华内容 85,165
关键字:

python项目

python 订阅