首页 > 编程语言 >python_wholeweek2

python_wholeweek2

时间:2024-07-27 16:39:55浏览次数:10  
标签:wholeweek2 python open text1 print txt data ###

目录

编码方式

txt文件的编码方式已经是UTF-8了吗(2024年七月的wins10.22H系统中



open函数的使用

h = open(r'C:\Users\dell\Desktop\text1.txt',encoding = 'utf-8')#####  ,encoding = 'utf-8'

open进行写入时

h = open(r'C:\Users\dell\Desktop\text1.txt','w',encoding = 'utf-8')##utf8的编码方式去读写
# print(h.readline())       ###读一行
# print(h.readline())       ###读下一行了
# print(h.readline())
h.write('我是用python写入的')   ###全读出来
h.flush()     ###快速刷入硬盘(一般写那个大型文件后面还要写入的时候,就会写一个flush,避免后面的先写入
h.close()	###关闭文件	

有关于编码解码

print('文字'.encode('utf-8').decode('gbk'))
'''
由于中文一个字符在utf-8中占三个字节,而在gbk中占一个字节,所以'文字'二字占六个字节,以gbk解码时就会解成3个字
'''

前面的open函数使用加了一个r

###########补充open函数使用时加一个r的原因
print('1 23')
print('1\n2\t3')
print(r'\t1\n2')      ###增加r时转义字符失效,\n和\t等失效

绝对路径和相对路径的使用

# ####绝对路径和相对路径
# 其实使用相对路径只要在一个工程文件下,就可以只写文件名路径即可

open函数的几种mode

# ######## r是只读
# fr = open(r'text1.txt',mode='r',encoding='utf-8')
# r_data = fr.read()
# print(r_data)
# fr.close()

# ######## w是重写
# fw = open(r'text1.txt',mode='w',encoding='utf-8')
# w_data = fw.write('我是用write重新写入的')
# print(w_data)
# fw.close()

# ######## a是续写
# fa = open(r'text1.txt',mode='a',encoding='utf-8')
# a_data = fa.write('\n后来增加')
# fa.close()

# ######## rb# 打开的bytes类型,二进制 # 010101010110010
# frb = open(r'text1.txt',mode='rb')
# frb_data = frb.read()
# print(frb_data)
# frb.close()

# ######## rt # 打开的text文本类型
# frt = open(r'text1.txt',mode='rt',encoding='utf-8')
# frt_data = frt.read()
# print(frt_data)
# frt.close()

with open的使用(对比open函数而言

# ####################  同open函数的应用,with open,法一
# with open('text1.txt', 'r',encoding='utf-8') as fr:
#     data = fr.read()        ###因为不建议边读边改,所以这个open执行读的功能
#     print(data)
#     new_data = data.replace('我','这个这个')   ###先在py中进行更改
#     print(new_data)
# with open('text1.txt', 'w',encoding='utf-8') as fw:     ###改成text2之后就会再生成一个文件
#     fw.write(new_data)                                  ####在这里写入

#####对应上面的方式还可以进行备份修改删除再重命名,法二
# with open('text1.txt', 'r',encoding='utf-8') as fr:
#     data = fr.read()        ###因为不建议边读边改,所以这个open执行读的功能
#     print(data)
#     new_data = data.replace('我','这个这个')   ###先在py中进行更改
#     print(new_data)
# with open('new_text.txt', 'w',encoding='utf-8') as fw:     ###py会建一个text2
#     fw.write(new_data)                                  ####在这里写入
#
# import os
# os.remove('text1.txt')
# os.rename('new_text.txt','text1.txt')

# ######还可以将法二进行精简,精简的法二
# with open('text1.txt', 'r',encoding='utf-8') as fr, \
#     open('new_text.txt', 'w', encoding='utf-8') as fw:
#         data = fr.read()        ###因为不建议边读边改,所以这个open执行读的功能
#         print(data)
#         new_data = data.replace('我','这个这个')   ###先在py中进行更改
#         print(new_data)
#         fw.write(new_data)                                  ####在这里写入
#
# import os       ###引入os操作
# os.remove('text1.txt')
# os.rename('new_text.txt','text1.txt')


补充知识点,之前用过replace但是给忘了

# s = 'hello world'
# s.replace('l', 'I')
# print(s)        #########这里打印你会发现S并没有变化,因为字符串为不可变类型,替换的时候重新开辟了内存空间,需要重新赋变量
# ###在s.replace('l', 'I')前添加s1=,再打印s1就能得到新的了

附加对于python识别文本时的编码错误链接解释

一文搞懂Python文件读取报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte_gbk codec can't decode byte-CSDN博客

一文搞懂Python文件读取报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte | AI技术聚合 (aitechtogether.com)

标签:wholeweek2,python,open,text1,print,txt,data,###
From: https://www.cnblogs.com/yyds703/p/18327133

相关文章

  • Python 与 Visual Studio Professional 2022(64 位)- 预览版本 5.0 交互窗口挂起
    我正在MicrosoftVisualStudioProfessional2022(64位)-预览版17.11.0预览版5.0上运行Python开发工作负载。我正在关注VisualStudio中的Python教程https://learn.microsoft.com/en-us/visualstudio/python/tutorial-working-with-python-in-visual-studio-st......
  • Python面试宝典第19题:最小路径和
    题目        给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。        示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总......
  • 基于python的出租车管理网站的设计与实现【源码+文档+PPT】
    ......
  • 如何在Linux上的python中以后台模式打开程序?
    我需要在Linux上以后台模式使用python打开另一个程序。我尝试过subprocess.call("yourcommand")但它不是后台模式。并且os.startfile("file")在Linux上不起作用。请帮助我。可以使用Python的subprocess模块在Linux上以后台模......
  • 【学习笔记】Matlab和python双语言的学习(TOPSIS法)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、TOPSIS法1.模型原理2.基本步骤(1)原始矩阵正向化(2)正向矩阵标准化(3)计算得分并归一化二、代码实现----Matlab1.主程序2.正向化处理函数3.极小型正向化函数4.中间型正向化函数5.区间型正向化......
  • 基于Python flask 的豆瓣电影top250数据评分可视化
    跟着CSDN上学习一下爬虫和简单的可视化分析,最后完成了一个简单的小项目。1.项目简介        基于Pythonflask的豆瓣电影评分可视化。通过采用Python编程语言,使用flask框架搭建影视系统,并使用相关技术实现对豆瓣网站的爬取、数据存储和可视化分析。2、成果展示:......
  • 获取 Python Decimal 的精确十进制字符串表示形式?
    如果我有一个PythonDecimal,我怎样才能可靠地获得数字的精确十进制字符串(即不是科学记数法)表示而不带尾随零?例如,如果我有:>>>d=Decimal('1e-14')我会像:>>>get_decimal_string(d)'0.00000000000001'但是:Decimal类没有任何to_......
  • python datetime timedelta 对于没有小数部分的时间返回 0.0
    我正在使用datetime.timedelta来获取python中进程的持续时间。defget_time_difference(start_time,end_time):time_in_seconds=(end_time-start_time)returnstr(datetime.timedelta(seconds=time_in_seconds))[:-3]文档指出“所有参数都是可选的......
  • 如何运行从我正在编写的另一个 Python 脚本获取命令行参数的 Python 脚本?
    我有一个python3脚本,如下所示:...defmain():parser=argparse.ArgumentParser(description='Performnormalisationchecksonpass2files')parser.add_argument('-p','--parser',action='store',help='parse......
  • Python 抓取 urllib2 HTTP 错误
    我正在尝试抓取一个网站,但我的代码仅在我打开该网站然后刷新它时才有效。我尝试了多种方法,但不断出现以下两个错误:第一个:ValueError:“HTTPError:HTTP错误416:请求的范围无法满足”urlslist=open("list_urls.txt").read()urlslist=urlslist.split("\n")forurlslistinurl......