# 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>

python内置函数print输出到文件,实现日志记录的功能的更多相关文章

  1. 16.python内置函数

    Python 内置函数:https://www.runoob.com/python/python-built-in-functions.html 原文:https://www.cnblogs.com/ ...

  2. python内置函数,lambda表达式,文件读写

    Lambda表达式: lambda是个匿名函数,自动加return返回 a={ 6:2,8:0, 1:4,-5:6,99:11,4:22} print(sorted(a.items()))#按key排 ...

  3. 使用文件描述符作为Python内置函数open的file实参调用示例

    一.关于文件描述符 open()函数的file参数,除了可以接受字符串路径外,还可以接受文件描述符(file descriptor),文件描述符是个整数,对应程序中已经打开的文件. 文件描述符是操作系 ...

  4. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

  5. 【转】python 内置函数总结(大部分)

    [转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...

  6. python内置函数,匿名函数

    一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...

  7. python 内置函数总结(大部分)

    python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...

  8. Python之路(第八篇)Python内置函数、zip()、max()、min()

    一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...

  9. python内置函数大全(分类)

    python内置函数大全 python内建函数 最近一直在看python的document,打算在基础方面重点看一下python的keyword.Build-in Function.Build-in ...

随机推荐

  1. MySQL 备份脚本--mysqldump在slave 上进行备份

    MySQL 备份脚本--mysqldump在slave 上进行备份 使用mysqldump在slave上进行备份,建议使用stop slave sql_thread,start slave sql_t ...

  2. Oracle 静默安装oracle client

    静默安装oracle clint比较简单,修改instantclient.crsp文件的几个位置即可 [root@localhost ~]# vi /etc/oralnstloc inventory_ ...

  3. Rails的静态资源管理(三)—— 开发环境的Asset Pipelin

    官方文档:http://guides.ruby-china.org/asset_pipeline.html http://guides.rubyonrails.org/asset_pipeline.h ...

  4. mysql中表触发器的简单使用

    以前有接触过触发器,但没有亲自写过,所以在这里简单写个例子: 功能为:两张表t_test,t_emp;给t_test添加触发器让t_test每插入一条数据,就给t_emp中num字段值增1: 1,建立 ...

  5. C语言学习笔记--#error 、 #line 和 #pragma 的使用

    1. #error 的用法 (1)#error 是一种预编译器指示字,用于生成一个编译错误消息 (2)用法:#error message //注意:message 不需要用双引号包围 (3)#erro ...

  6. JAVA之数组队列

    package xxj.datastructure0810; import java.util.Random; public class DataStructure { /** * @param ar ...

  7. Tkinter控件(python GUI)

  8. Acviticy.this 和 getApplicationContext()的区别

    用AlertDialog 举例 AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的,在Activity销毁的时候它也就销毁了,不会再存在.Activity.th ...

  9. tornado带签名的cookie原理

  10. day70-oracle PLSQL_02光标

    涨工资之前员工的工资. 如果PLSQL程序没有commit的话,命令行这边的客户端是无法读到的.这是oracle数据库的隔离级别. 为什么在PLSQL程序中commit之后还是不行呢? PLSQL程序 ...