python学习杂记--print信息写入文件


除了使用日志生成函数logger,还可以直接将print的信息写入到目标文件中

logger方法如下:

 1 def log(message):
 2     # 创建info级别的记录器
 3     logger = logging.getLogger(__name__)
 4     if not logger.handlers:
 5         logger.setLevel(logging.INFO)
 6         # 创建日志处理程序,并将log命名为log.txt,logging.info表示log中打印信息的级别为info(只有级别高于info才会写进文档。)
 7         filename = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) + r"_appium_log.txt"
 8         handler_info = logging.FileHandler('..\logs\\'+filename, 'w',encoding="utf-8")
 9         handler_info.setLevel(logging.DEBUG)
10         # # console中输出日志信息(console输出和上方两行的log.txt只能选一种输出方式,不可以共存)
11         # handler_info = logging.StreamHandler()
12         # handler_info.setLevel(logging.INFO)
13 
14         # 日志格式
15         #     formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
16         #     handler_info.setFormatter(formatter)
17 
18         # 将日志处理程序加入到记录器
19         logger.addHandler(handler_info)
20     logger.info(message)
21     # logger.handlers.clear()
22     return logger

print方法如下:

1 # 首先确定要写入的文件位置
2 File_address = r'xxxx/xxx/xxx/xx.txt'
3 f = open(File_address,'a')
4 
5 print("This is for test", file=f)(或者还有一种方法是f.write(内容),用write方法需要在写完之后加上f.close())

python关于文件的读取权限:

‘r’只读。该文件必须已存在。

‘r+’可读可写。该文件必须已存在,写为追加在文件内容末尾。

‘rb’:表示以二进制方式读取文件。该文件必须已存在。

‘w’只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。

‘w+’写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。

‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。

‘a’追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。

‘a+’追加读写。打开文件方式与写入方式和'a'一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。(可使用seek() 方法解决这个问题)

 1 print(f.readline())    # 打印一行
 2 print(f.readline(5))   # 打印前5个字符
 3 print(f.tell())        # 打印当前指针位置
 4 print(f.read())        # 读完文件后,指针在最尾处
 5 f.seek(0)              # 如要重头到尾再读,文件指针须先回到文件头(0-文件头,默认值; 1-当前位置; 2-文件尾)
 6 print(f.read())        # 重读文件
 7 print(f.encoding)      # 打印当前使用的字符编码
 8 print(f.name)          # 打印文件名
 9 print(f.flush())       # 刷新
10 f.truncate()           # 清空文件
11 f.truncate(12)         # 从头开始,第12个字符后截断并清除
12 f.close()              # 关闭文件

打开文件时有时还需要注意加上以哪种编码方式打开

常用的有“GBK”,“utf-8”,“iso-8859”

Windows默认操作系统字符编码是GBK

Python默认操作的字符编码是“utf-8”,也可用“iso-8859”


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM