zoukankan      html  css  js  c++  java
  • python内置函数print输出到文件,实现日志记录的功能

    # bulid time 2018-6-22
    import os
    import time
    
    def log(*args, **kwargs):  # *kargs 为了通用 可不传
        rule = "%Y/%m/%d  %H:%M:%S"  # 定义格式
        value = time.localtime(int(time.time()))  # 转换时间
        dt = time.strftime(rule, value)   #  根据规则转换时间
        with open("./log", "a") as f:   # 打开文件  把print函数输出的数据写入到文件    
            print(dt, *args, file=f, **kwargs)
    
    def main():
    	while True:
    	    a = input("请输入:")
    	    if a == "q":
    	        log(__file__)
    	        log(os.path.dirname("/home/kali/Desktop/log.py"))  # 没有数据
    	        log(os.path.abspath(os.path.dirname(__file__))) # 拿到当前路径
    	        log(__name__) # __name__
    	        log(os.path.abspath(__file__)) #当前文件绝对路径
    	        log(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))  
    	        log(os.path.join)
    	        break
    	    log(a)
    
    if __name__ == "__main__":
    	main()
    

     python内置函数的file参数,可以实现把输出写入文件,而不再终端显示, 看了看看print的文档介绍, 写了一个小demo, 顺便还了解了一下os.path.* , 以及时间模块,不错不错!

    功能说明: 获取输入内容, 写入文件, 输入"q",退出.  可以作为一个记录日志的小脚本

    在当前目录生成logt.txt 文件

    效果如下:

    2018/07/18  18:36:46 hello world!
    2018/07/18  18:37:00 life is short, you need python!
    2018/07/18  18:37:02 log.py
    2018/07/18  18:37:02 /home/kali/Desktop
    2018/07/18  18:37:02 /home/kali/Desktop
    2018/07/18  18:37:02 __main__
    2018/07/18  18:37:02 /home/kali/Desktop/log.py
    2018/07/18  18:37:02 /home/kali
    2018/07/18  18:37:02 <function join at 0x7f1c5c206268>

  • 相关阅读:
    Confluence未授权模板注入/代码执行(CVE-2019-3396)
    Python实现批量处理扫描特定目录
    windows10 缺失 msvcp140.dll 解决办法
    nessus 故障处理
    python 处理json数据
    python 实现两个文本文件内容去重
    python3 实现多域名批量访问特定目录(一)
    python 简单的实现文件内容去重
    python 实现爬取网站下所有URL
    php强大的filter过滤用户输入
  • 原文地址:https://www.cnblogs.com/x931890193/p/9331013.html
Copyright © 2011-2022 走看看