1.首先 我们先介绍几种print的用法:
# 首先 我们需要赋值我们需要用的变量
a = 1
b = "sss"
# def print(self, *args, sep=' ', end='\n', file=None):
# print 函数一共可以接受四个参数 第一个*args是需要打印出来的变量
# 它是以tuple 格式的输入传入到print 函数里面的。
#第二个sep 控制输出中tuple中的每个元素之间的分隔符号
#第三个end 控制输出完成后 的操作 默认换行
#最后一个file 可以把输出写入到文件中
print(a)
print(a,b)
print(a,b,sep="\n")
# a.txt 必须要在当前工作目录,否则会FilenotFound
# 如何查a.txt是否在当前工作目录 用 os模块的 os.getcwd()
f = open('a.txt','a+',encoding="utf-8")
print(a,b,sep=" ",file=f)
f.close()
打印输入的*args
#这个函数可以查看print接受的数据类型
def prin(*args):
print(args)
print(type(args))
if __name__ == "__main__":
prin(1,2,3,4,2)
2. print 函数的源码
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
"""
pass
3. 我们可以用print写一个log函数
# 用 log 函数把所有输出写入到文件,这样就能很方便地掌控全局了
# 即便你关掉程序,也能再次打开来查看
def log(*args, **kwargs):
format = '%Y/%m/%d %H:%M:%S'
value = time.localtime(int(time.time()))
dt = time.strftime(format, value)
# 中文 windows 平台默认打开的文件编码是 gbk 所以需要指定一下
# 这里用的上下文管理 可以不用 f.close()关闭文件 用完自己关 嘿嘿
with open('log.gua.txt', 'a', encoding='utf-8') as f:
# 通过 file 参数可以把输出写入到文件 f 中
# 需要注意的是 **kwargs 必须是最后一个参数
print(dt, *args, file=f, **kwargs)