當前位置:首頁 » 編程語言 » python修改txt

python修改txt

發布時間: 2023-01-04 03:07:59

1. python怎麼修改一個文件

通常的做法是先將文件的所有內容讀入內存,修改後再全部寫回原文件。

如果文件中所有數據的偏移地址都是固定的,那麼可以以r+方式打開文件,將文件指針移動到要修改的數據處,寫入新數據覆蓋即可。

2. python中怎麼進行txt文件的修改

# 導入正則包
import re
# 打開你的文件
with open('data.txt','r') as f:
# 讀取文件內容
content = f.read()
# 使用正則替換
res = re.sub('b1', 'b2', content)
print(res)

樓主可以具體查一下re.sub()的使用,希望能幫到你
待你強大...

3. Python 問題 我該如何快速的重載、刷新一個TXT文件

記錄最後一次修改時間,沒有變動就不需要再讀取內容了

4. 怎樣用python修改另外一個文件的參數,如修改.txt文件的裡面某一個參數

剛好其他有個問題涉及你的問題,我直接給你貼可以運行的代碼,純手工額:
#coding=utf-8
'''
Created on 2012-6-4

@author: Administrator

@note:
以下是具體代碼:
我用的Python2.7
需要在當前文件夾下創建script.py
'''
import wx
import wx.grid

class TestPanel(wx.Panel):

def __init__(self, parent):
wx.Panel.__init__(self, parent)

#修改位置,在讀取的時候獲取,在修改文件的時候使用
self.offsetx = 0
self.offsety = 0

self.initGUI()

def initGUI(self):
self.createWidgets()
self.setPrepertise()
self.doyout()

def createWidgets(self):
self.xshow_textCtrl = wx.TextCtrl(self, -1)
self.yshow_textCtrl = wx.TextCtrl(self, -1)
self.change_btn = wx.Button(self, -1, label = u"修改")

self.Bind(wx.EVT_BUTTON, self.onChange, self.change_btn)

def onChange(self, evt):
#獲取修改的屬性
x = self.xshow_textCtrl.GetLabelText()
y = self.yshow_textCtrl.GetLabelText()

fl = open("script.py", "w")
#找到相應位置修改
fl.seek(self.offsetx)
fl.write("x = %s\n" % x)
fl.seek(self.offsety)
fl.write("y = %s\n" % y)
fl.close()

def doyout(self):
mainSizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(mainSizer)

#x顯示
xSizer = wx.BoxSizer(wx.HORIZONTAL)
mainSizer.Add(xSizer, 1, wx.EXPAND)
x_label = wx.StaticText(self, -1, label = "X:")
xSizer.Add(x_label, 0, wx.ALL, 10)
xSizer.Add(self.xshow_textCtrl, 0, wx.ALL, 10)

#y顯示
ySizer = wx.BoxSizer(wx.HORIZONTAL)
mainSizer.Add(ySizer, 1, wx.EXPAND)
y_label = wx.StaticText(self, -1, label = "Y:")
ySizer.Add(y_label, 0, wx.ALL, 10)
ySizer.Add(self.yshow_textCtrl, 0, wx.ALL, 10)

#按鍵
mainSizer.Add(self.change_btn, 0, wx.ALL, 10)

def setPrepertise(self):
x, y = self.getXY()
self.xshow_textCtrl.SetLabel(str(x))
self.yshow_textCtrl.SetLabel(str(y))

def getXY(self):
fl = open("script.py", "r")
msg = ""
line = fl.readline()
while line and line[-1]:

if line.startswith("x"):
msg += line
self.offsetx = fl.tell() - len(line)#得到x那行的起始位置
elif line.startswith("y"):
msg += line
self.offsety = fl.tell() - len(line)#得到y那行的起始位置
line = fl.readline()
x = 0
y = 0
exec msg#給x,y賦值
return x, y

class TestFrame(wx.Frame):

def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, None, title = u"測試Frame", size = (400, 300),
pos = (400, 200))
TestPanel(self)

if __name__ == '__main__':
app = wx.PySimpleApp()
frame = TestFrame()
frame.Show()
app.MainLoop()

5. 如何用python 修改txt文件

def modifyip(tfile,sstr,rstr):
try:
lines=open(tfile,'r').readlines()
flen=len(lines)-1
for i in range(flen):
if sstr in lines[i]:
lines[i]=lines[i].replace(sstr,rstr)
open(tfile,'w').writelines(lines)

except Exception,e:
print e

modifyip('a.txt','a','A')

1

6. 利用python將docx文件轉為txt

背景:工作中需要將文件夾下的若干word文件docx轉換為對應txt文本格式

因此需要將docx中文本讀取出來,然後保存為txt格式即可

需要的python模塊為 python-docx : https://python-docx.readthedocs.io/en/latest/index.html, 導入模塊時候導入docx

(只能讀取.docx文件,不能讀取.doc文件)

注意,在PyPi里還有一個叫docx的庫,已經停止更新,不建議使用)

http://www.cnblogs.com/geek-arking/p/9300617.html

上面的方法只能讀取docx文件,如果讀取doc會報錯

結果報錯:docx.opc.exceptions.PackageNotFoundError: Package not found。還是無法識別doc

「改變拓展名並沒有改變其編碼方式,因此無法讀取文本內容,需將doc文件用word另存為docx後再用python-docx讀取其內容」

對於要轉換的doc文件,網上的資料都是使用win32,需要安裝 pypiwin32

https://www.cnblogs.com/AlgorithmDot/p/3386918.html

通過上面的方法,有時可以直接將doc轉換為txt文件,有時候會報錯。

這里我們可以考慮將doc文件直接轉換為docx然後再通過上面的方法讀取為txt,如果手動將doc修改為txt或者docx,打開文件會顯示亂碼,但是可以用其提供的SaveAs方法將.doc文檔利用手動的方式「另存為」.docx文檔,就能夠成功打開轉化後的.docx文檔,

doc.SaveAs(tmp +'.docx', 16)

其中16的含義如下:

利用win32com介面直接調用office API,好處是簡單、兼容性好,只要office能處理的,python都可以處理,處理出來的結果和office word裡面「另存為」一致。

下面是office 2007支持的全部文件格式對應表:

wdFormatDocument = 0 

wdFormatDocument97 = 0 

wdFormatDocumentDefault = 16 

wdFormatDOSText = 4 

wdFormatDOSTextLineBreaks = 5 

wdFormatEncodedText = 7 

wdFormatFilteredHTML = 10 

wdFormatFlatXML = 19 

wdFormatFlatXMLMacroEnabled = 20 

wdFormatFlatXMLTemplate = 21 

= 22 

wdFormatHTML = 8 

wdFormatPDF = 17 

wdFormatRTF = 6 

wdFormatTemplate = 1 

wdFormatTemplate97 = 1 

wdFormatText = 2 

wdFormatTextLineBreaks = 3 

wdFormatUnicodeText = 7 

wdFormatWebArchive = 9 

wdFormatXML = 11 

wdFormatXMLDocument = 12 

= 13 

wdFormatXMLTemplate = 14 

= 15 

wdFormatXPS = 18

照著字面意思應該能對應到相應的文件格式。

1、新建或打開文件。這個比較簡單用docx的Document類,若指定路徑則是打開文檔;若沒有指定路徑則是新建文檔

2、保存文件。有打開,就有保存。用Document類的save方法,其中參數是保存的文件路徑,或者要保存的文件流。一般指定路徑即可。

doc.save(path_or_stream)

3、對象集合。python-docx包含了word文檔的相關對象集合。

4、插入段落。段落是word最基本的對象之一。

5、新增樣式。這個幫助文檔裡面說得不仔細,而且還是英文的。我手頭上的項目用到這個,就自己琢磨出怎麼使用,如下。

6、應用字元樣式。字元自然是在段落裡面的,可以採用下面方法給段落追加文字和設置字元樣式。

#插入一個空白段落

p = doc.add_paragraph('')

p.add_run('123', style="Heading 1 Char")

p.add_run('456')

p.add_run('789', style="Heading 2 Char")

#這樣一個段落就應用了兩個字元樣式,中間「456」就沒應用樣式

printp.text#輸出結果是u'123456789' 也還是連續的

7、設置字體。當然可以不用通過設置樣式對某些字進行設置,也可以直接設置。

p = doc.add_paragraph('')

r = p.add_run('123')

r.font.bold =True#加粗

r.font.italic =True#傾斜 等等...

8、表格操作。表格也是經常用到的一種對象類型。

7. python使用正則表達式替換txt內容

s='kfhakl,"dasf,fwg,gs,fatg,ta,",fasf,aga,wr,ga,czxv,"fsafa,rqr,cacv,",dasc'
l=[]
quoted=False
forchins:
ifch=='"':
quoted=notquoted
elifch==','andquoted:
l.append(',')
continue
l.append(ch)

s=''.join(l)
print(s)

8. 請問怎麼用python修改txt里的數字

這種問題,如果不是多次使用,何必用python,直接導入excel,將第三列+1放回去,重新導出為txt,逗號間隔萬事大吉

9. python替換txt文件中固定內容

  1. 讀取之後使用字元串的 replace方法,之後 save 到 txt 即可

  2. 使用pandas 讀取文件,循環遍歷每個元素,利用條件判斷

  3. 使用pandas讀取文件, 使用apply方法,還是使用 字元串的replace方法

  4. 使用正則表達式模塊re, 使用re的substring 方法或者replaece方法

10. python里怎樣替換,修改文本內容

當我們讀取文件中內容後,如果想要修改文件中的某一行或者某一個位置的內容,在python中是沒有辦法直接實現的,如果想要實現這樣的操作只能先把文件所有的內容全部讀取出來,然後進行匹配修改後寫入到新的文件中。

實例代碼如下所示:

備註:

1. 舊文件的內容

hello,world
yanyan is good girl
Good day is good day

2. 新文件在代碼執行後的內容

hello,world
yanyan is good girl
hello,yanyan

3. 需要注意的是許可權的問題,對於舊文件必須要有讀取許可權,對於新的文件必須要有寫入許可權

熱點內容
資料庫組別 發布:2025-07-05 06:15:53 瀏覽:710
我的世界伺服器怎樣設置新手裝備只能拿一次 發布:2025-07-05 06:15:53 瀏覽:984
緩存40集電視劇需要多少流量 發布:2025-07-05 05:56:44 瀏覽:64
iso怎麼解壓到u盤 發布:2025-07-05 05:49:02 瀏覽:890
php參數設置 發布:2025-07-05 05:49:00 瀏覽:995
javacharacter 發布:2025-07-05 05:38:36 瀏覽:735
伺服器pcid地址怎麼看 發布:2025-07-05 05:35:40 瀏覽:384
安卓系統賺錢靠什麼 發布:2025-07-05 05:28:06 瀏覽:159
編譯不出來的原因 發布:2025-07-05 05:14:00 瀏覽:69
絕地求生國際服如何選擇伺服器 發布:2025-07-05 05:08:56 瀏覽:66