最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3 讀寫文件換行符的方法

 更新時間:2018年04月09日 10:40:36   作者:zhouguoqionghai  
下面小編就為大家分享一篇python3 讀寫文件換行符的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近在處理文本文件時,遇到編碼格式和換行符的問題。

基本上都是GBK 和 UTF-8 編碼的文本文件,但是python3 中默認的都是按照 utf-8 來打開。用不正確的編碼參數(shù)打開,在讀取內(nèi)容時,會拋出異常。

open(dirpath + "\\" + file, mode = "r+", encoding = "gbk", newline = "")

捕獲拋出的異常,關(guān)閉文件。使用另外一種編碼格式打開文件再重新讀取。

讀取文件時,

newline參數(shù)用來指定讀取時,對換行符的處理。缺省為 None,表示通用的換行符(“\n”),即文件的換行符是啥,讀出來都是 “\n”.

newline = "" 表示讀取的換行符保持不變,原來是啥,讀出來還是啥。

newline = “\n” 表示遇到 "\n" 才一行結(jié)束,“\r” 像其他普通字符一樣對待。

newline = “\r” 表示遇到 "\r" 才一行結(jié)束,“\n” 像其他普通字符一樣對待。

在文件寫入時,

newline = None時,寫入的“\n” 自動都變?yōu)橄到y(tǒng)默認的換行符。所以 “\r\n” 在windows下會變成“\r\r\n”寫入。

newline = "" 表示不做任何轉(zhuǎn)換寫入。

newline = “\n” 表示不做任何轉(zhuǎn)換寫入。

newline = “\r” 表示將 “\n” 和 "\r" 都當(dāng)做 "\r" 進行寫入,所以“\r\n” 會變成 “\r\r”進行寫入。

案例:將源碼下的所有makefile 文件中的 -c 參數(shù)前,加上 -g 選項。

import os
import re
os.chdir(r"E:\code")
s = os.walk(".")
pattern = re.compile(r"\s-c\s")
for dirpath, dirnames, filenames in s:
	for file in filenames:
		if file.endswith(".mak") or "makefile" in file: #部分以 .mak 結(jié)尾,部分以makefile命名
			print(file)
			with open(dirpath + "\\" + file, mode = "r+", encoding = "gbk", newline = "") as f: #newline為空串表示換行符不轉(zhuǎn)換
				try: #編碼問題造成的異常
					lines = f.readlines() #一次讀取所有的行到內(nèi)存
					f.seek(0)    #回到文件起始處
					for line in lines:
						#newline = line.replace(" -c "," -g -c ")
						newline= re.sub(pattern, " -g -c ", line)
						f.write(newline)
				except ValueError:
					f.close()
					with open(dirpath + "\\" + file, mode = "r+", encoding = "utf-8", newline = "") as fnew:
						try: 
							lines = fnew.readlines() 
							fnew.seek(0)    
							for line in lines:
								#newline = line.replace(" -c "," -g -c ")
								newline= re.sub(pattern, " -g -c ", line)
								fnew.write(newline)
						except ValueError:
							print("*************** " + dirpath + "\\" + file) #打印utf-8 和 gbk 之外編碼的文件名

以上這篇python3 讀寫文件換行符的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python導(dǎo)入oracle數(shù)據(jù)的方法

    Python導(dǎo)入oracle數(shù)據(jù)的方法

    這篇文章主要介紹了Python導(dǎo)入oracle數(shù)據(jù)的方法,涉及Python讀取csv文件信息再插入到Oracle數(shù)據(jù)庫的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • python實現(xiàn)字符串字母大小寫轉(zhuǎn)換的幾種方法

    python實現(xiàn)字符串字母大小寫轉(zhuǎn)換的幾種方法

    本文主要介紹了python實現(xiàn)字符串字母大小寫轉(zhuǎn)換的幾種方法,包括islower()、isupper()、istitle()、lower()、casefold()、upper()、capitalize()、title()和swapcase(),具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • 在pytorch中計算準(zhǔn)確率,召回率和F1值的操作

    在pytorch中計算準(zhǔn)確率,召回率和F1值的操作

    這篇文章主要介紹了在pytorch中計算準(zhǔn)確率,召回率和F1值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python實現(xiàn)單目標(biāo)、多目標(biāo)、多尺度、自定義特征的KCF跟蹤算法(實例代碼)

    python實現(xiàn)單目標(biāo)、多目標(biāo)、多尺度、自定義特征的KCF跟蹤算法(實例代碼)

    這篇文章主要介紹了python實現(xiàn)單目標(biāo)、多目標(biāo)、多尺度、自定義特征的KCF跟蹤算法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 在Python中,不用while和for循環(huán)遍歷列表的實例

    在Python中,不用while和for循環(huán)遍歷列表的實例

    今天小編就為大家分享一篇在Python中,不用while和for循環(huán)遍歷列表的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python讀取word文檔的方法

    python讀取word文檔的方法

    這篇文章主要介紹了python讀取word文檔的方法,實例分析了Python基于win32com操作word文檔的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Python 制作子彈圖

    Python 制作子彈圖

    這篇文章主要介紹了Python 制作子彈圖,眾所周知,Python 的應(yīng)用是非常廣泛的,今天我們就通過 matplotlib 庫學(xué)習(xí)下如何制作精美的子彈圖,需要的朋友可以參考一下
    2021-12-12
  • 利用PyTorch實現(xiàn)爬山算法

    利用PyTorch實現(xiàn)爬山算法

    這篇文章主要介紹了利用PyTorch實現(xiàn)爬山算法,爬山算法是一種局部擇優(yōu)的方法,采用啟發(fā)式方法,是對深度優(yōu)先搜索的一種改進,它利用反饋信息幫助生成解的決策,屬于人工智能算法的一種
    2022-07-07
  • Python裝飾器類方法擴展元類管理實例探究

    Python裝飾器類方法擴展元類管理實例探究

    這篇文章主要為大家介紹了Python裝飾器類方法擴展元類管理實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python?requests模塊封裝詳解

    python?requests模塊封裝詳解

    requests是一個常用的HTTP請求庫,可以方便地向網(wǎng)站發(fā)送HTTP請求,并獲取響應(yīng)結(jié)果,本文主要和大家介紹一下requests模塊的使用與封裝,需要的可以參考下
    2023-09-09

最新評論

建昌县| 保山市| 嫩江县| 武城县| 荣昌县| 南投市| 长沙县| 砚山县| 阿坝县| 海口市| 兴宁市| 宜宾市| 项城市| 大足县| 肇庆市| 浦北县| 梅河口市| 翼城县| 二手房| 南城县| 芮城县| 上杭县| 大同市| 井陉县| 枞阳县| 齐齐哈尔市| 南召县| 如东县| 清苑县| 山阴县| 米脂县| 雷州市| 博兴县| 南充市| 万年县| 平利县| 临猗县| 西林县| 伽师县| 叶城县| 高邑县|