Python制作日志本

Python制作日志本

目的与功能

写一个可以从命令提示行中读取一段文字,并以日志的形式写入一个文档中。这个纯粹是我的兴趣使然,为了监督我每天晚上从图书馆回来,用电脑做了什么。那么接下来的过程也是比较坎坷的,所以我慢慢道来。

代码部分

# -*- coding:utf-8 -*-
import time
import argparse


def init_parser():
    p = argparse.ArgumentParser()
    p.add_argument(r'log')
    return p


if __name__ == "__main__":
    log = time.strftime('%Y.%m.%d', time.localtime(time.time()))
    log = "--" * 10 + log + "--" * 10 + "\n"
    parser = init_parser()
    args = parser.parse_args()
    content = args.log or input("record:")
    if content is not "":
        with open(r"C:\Users\***\my_log.txt", 'a') as f:
            f.write(log)
            f.write(content + "\n\n")
            f.flush()
            f.close()
            print("done!")
    else:
        print("Something should be written!")

原理与解释

第一部分
# -*- coding:utf-8 -*-
import time
import argparse

​为了达到制作日志的目的和得到命令提示行中的信息,我们引入相关的库。这里就出现了我遇到的第一个问题,突然报错。因为我的存放文件的文件夹叫编程,所以大概是这个原因。

​ 对此的两个解决方案:

  • 在文件的第一行加上# -*- coding:utf-8 -*-
  • 不要把文件夹以中文命名。
第二部分
def init_parser():
    p = argparse.ArgumentParser()
    p.add_argument(r'log')
    return p

这个部分是初始化获得命令提示行的内容,没有什么好解释的。log是我之后存放内容的变量,所以替换名字也没有问题。

第三部分
if __name__ == "__main__":
    log = time.strftime('%Y.%m.%d', time.localtime(time.time()))
    log = "--" * 10 + log + "--" * 10 + "\n"
    parser = init_parser()
    args = parser.parse_args()
    content = args.log or input("record:")
    if content is not "":
        with open(r"C:\Users\***\my_log.txt", 'a') as f:
            f.write(log)
            f.write(content + "\n\n")
            f.flush()
            f.close()
            print("done!")
    else:
        print("Something should be written!")

这里建议加上f.flush(), 避免内容较多写不完的问题。还有文本文档一定要写绝对路径,不然会在cmd环境中可能出现找不到文件的问题。

至此,代码的问题已经搞定,接下来是操作上的问题。

操作使用手册

  • 在写入文件的时候,需要在内容的两侧写上" ,如:"this is content!"
  • 不建议写入中文(但是可以),因为文本文档使用GBK而python基本上是UTF-8

后记

补充正常input()写入日志的方法,其实很简单,只是把content = args.log改成content = args.log or input("record:")就可以了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一种功能强大的编程语言,可以用于制作Web数据库系统。Python提供了多种库和框架,使得开发者可以轻松地创建和管理数据库。以下是一些主要的步骤和工具: 1. 数据库选择:Python支持多种数据库,如MySQL、PostgreSQL、SQLite等。可以根据项目需求选择最适合的数据库。 2. 关系映射对象(ORM):Python提供了多种ORM库,如SQLAlchemy、Django ORM等。ORM库可以将数据库表映射为Python对象,提供了许多方便的方法来操作数据库。开发者可以使用ORM库来创建表、插入数据、查询数据等。 3. Web框架:Python有许多Web框架可供选择,如Django、Flask等。这些框架提供了一套完整的工具和开发模式,使得开发Web应用变得更加简单。开发者可以使用这些框架来处理URL路由、表单验证、会话管理等功能。 4. API设计:开发Web数据库系统通常需要通过API与前端进行数据交互。Python提供了多种库和工具,如Django REST framework等,用于设计和开发API接口。 5. 用户认证和授权:Web数据库系统通常需要进行用户认证和授权。Python提供了多种库和工具,如Django的身份验证系统、Flask-Login等,用于处理用户登录、权限管理等功能。 6. 数据库迁移:在开发过程中,可能需要对数据库进行修改。Python提供了多种数据库迁移工具,如Alembic等,用于管理数据库版本和更新。 综上所述,Python可以通过使用适当的库和工具来制作Web数据库系统。开发者可以选择合适的数据库、ORM库、Web框架和其他工具,根据项目需求进行开发和设计。使用Python可以提高开发效率,同时还能享受到Python强大而灵活的特性。 ### 回答2: Python是一种非常流行的编程语言,它的优势之一是可以用于制作Web数据库系统。 首先,Python提供了许多强大的网络开发框架,例如Django和Flask。这些框架可以帮助开发人员快速构建Web应用程序,并提供了处理请求、路由、模板引擎等功能。 其次,Python拥有广泛的数据库支持。可以使用Python的标准库或第三方库来连接各种类型的数据库,例如MySQL、PostgreSQL和SQLite等。开发人员可以使用Python的数据库API来执行查询、插入、更新和删除等数据库操作。 此外,Python还提供了简单易用的对象关系映射(ORM)工具,例如SQLAlchemy,它可将数据库表映射为Python对象,并提供了一种编程方式来操作数据库,使得开发人员可以更加方便地与数据库交互。 另外,Python还支持各种数据格式的处理,如JSON、XML和CSV等。这意味着我们可以轻松地将数据从数据库中检索出来,并以所需的格式呈现给前端用户或其他系统。 最后,Python拥有庞大的社区支持和丰富的第三方库。无论是处理用户认证、权限管理、数据可视化、日志记录等方面,都可以找到相应的解决方案和库来支持Web数据库系统的开发。 综上所述,Python是一种非常适合制作Web数据库系统的编程语言,它提供了强大的网络开发框架、丰富的数据库支持、简单易用的ORM工具以及广泛的社区支持,使得开发人员可以轻松构建功能强大的Web应用程序。 ### 回答3: Python可以通过多种方式制作web数据库系统,最常用的方法是使用Python的Web框架和数据库库。 首先,选择一个适合的Web框架,如Django或Flask。这些框架提供了许多现成的功能和库,可以快速开发和部署Web应用程序。 接下来,选择一个数据库库来连接和操作数据库。Python有很多流行的数据库库,如MySQLdb、psycopg2和sqlite3。根据需求选择适合的库。 在开发过程中,首先需要定义数据库模型。可以使用框架提供的ORM(对象关系映射)功能来定义和生成数据库表结构。ORM可以帮助我们利用Python类和对象与数据库表进行交互,使开发更加便捷。 然后,编写相应的视图函数来处理来自前端的请求。视图函数负责接收请求、处理数据和逻辑,最后返回相应的结果给前端。可以使用框架提供的路由功能来进行URL和视图函数的映射。 同时也需要编写HTML模板来渲染页面。框架一般提供了模板引擎,使我们可以在HTML中嵌入动态内容,提高页面的复用性和可维护性。 最后,通过框架提供的开发服务器或者部署到生产服务器上,将Web应用程序发布到互联网上。可以利用框架的功能来处理并发请求、管理用户会话、保护数据安全等。 总的来说,使用Python制作web数据库系统需要选择合适的框架和数据库库,定义数据库模型,编写视图函数和HTML模板,最后将应用程序部署上线。这样就可以通过浏览器来访问和操作数据库系统了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值