python文件操作with
『壹』 python文件處理相關
search第一個參數擴展名,第二個參數根路徑
importos
defsearch(s,path=os.path.abspath('.')):
forzinos.listdir(path):
ifos.path.isdir(path+os.path.sep+z):
print('Currnet:',path)
path2=os.path.join(path,z)
print('future:',path2)
search(s,path2)
elifos.path.isfile(path+os.path.sep+z):
ifos.path.splitext(z)[1].upper()==s:
withopen(os.path.join(path,z),'r')asf:
withopen('新的.txt','a')asfw:
fw.write(f.read())
print(os.path.join(path,z))
search('.TXT','H:\TEMP')
『貳』 python文件寫操作
這樣把 教你個簡單的辦法
python一般不會在原文件中操作的,一般會讀出來,操作,然後再寫入的。代碼如下:
#encoding:gbk
insert='123' #你想插入的字元串
line='' #最終文件內容
f=open("1.txt","r")
i=f.readline() #讀取文件內容
f.close()
pre=i[0:3]
last=i[3:]
line=pre+insert+last
f=open("1.txt","w")
f.write(line)
f.close()
『叄』 python文件操作
>>>classFileAppend():
def__init__(self,fpath):
self.filepath=fpath
defAppend(self,txt,afterStr=','):
index=open(self.filepath).read().find(afterStr)+1
ifindex!=-1:
f=open(self.filepath,'r+')
f.seek(index,0)
f.write(txt)
f.close()
returnTrue
else:
returnFalse
defAppendCover(self,txt,afterStr=','):
text=open(self.filepath).read()
index=text.find(afterStr)+1
needLen=len(text)-index
ifindex!=-1:
f=open(self.filepath,'r+')
f.seek(index,0)
txt=txt+(''*(needLen-len(txt)))
f.write(txt)
f.close()
returnTrue
else:
returnFalse
>>>open('a.txt','w').write('hellooworld,thisisatest!')
>>>f=FileAppend('a.txt')
>>>f.AppendCover('fuck')
>>>
如果新寫入的字元串不夠長,則無法完全覆蓋,AppendCover會自動補空白字元串,以保證視覺上完全覆蓋
『肆』 Python在with open as語句之外,將讀取的CSV文件內容轉為列表,報錯:對已關閉的文件進行操作
你用CSV模塊讀的時候,返回的是一個對象,這個對象關閉了就沒了。
直接讀取文件,非csv模塊方式,返回的則是str或list
『伍』 Python3.5 文件操作問題
withopen('Python.txt','r+',encoding='utf8')asf:
print(f.read().strip())
f.write(' cd ')
f.close()
#不提暢這樣邊讀邊寫,想了解下可以.
『陸』 python 文件操作,求大神
直接的文本方式讀確實是把值當成字元串,可以在讀入後進行轉換。對於列表,也可以用對象持久化的方式進行保存成文件和讀入,有相應的庫支持,也比較簡單。
『柒』 關於python中的文件操作問題
思路
使用json模塊,儲存是最方便的,下面給出具體代碼示例
代碼
"""
我現在有一張列表,列表裡邊回是若干個字典答,這個列表可以作為參數給到一個函數里,列印出一張表格。
現在我把列表寫到一個txt文件中,當然保存到文件中的是字元串形式,我再重新讀取這個文件中的內容時,
之前的列表只能以字元串的形式取出,請問怎麼把這個字元串再轉換為之前的列表來使用?
"""
importjson
defprint_list(my_list):
print(my_list)
my_list=[
{
'name':'singi'
},
{
'name':'sunjun'
}
]
file_name='my_list.json'
#寫入文件
withopen(file_name,'w')asf:
json.mp(my_list,f)
#讀取文件
withopen(file_name)asf:
my_list_load=json.load(f)
print_list(my_list_load)
輸出
[{'name':'singi'},{'name':'sunjun'}]
『捌』 python可以同時對文件進行讀寫操作嗎
對文件的操作,步驟為:打開一個文件-->讀取/寫入內容-->保存文件
文件讀寫的3中模式
# 1、w 寫模式,它是不能讀的,如果用w模式打開一個已經存在的文件,會清空以前的文件內容,重新寫
# w+ 是讀寫內容,只要沾上w,肯定會清空原來的文件
# 2、r 讀模式,只能讀,不能寫,而且文件必須存在
# r+ 是讀寫模式,只要沾上r,文件必須存在
# 3、a 追加模式,也能寫,在文件的末尾添加內容
# 4、rb+、wb+、ab+,這種是二進制模式打開或者讀取,一些音樂文件
test1.txt
1 如果無情的風摘走了那片樹葉
2 如同摘走了我的心
3 在每一個想你的夜晚
4 請允許我將你抱緊
5 我不像一隻大雁可以秋去春來
6 銜回丟失的緣分
7 所以從來不敢回憶離別
8 越是清晰 越是傷心
9 你說所有的城市沒有不同
10 我寧願相信你心中有片草原
1、循環讀取文件中的每一行內容:
demo1.py1 file = open('test1.txt','r+')# 打開test1.txt 文件
2 for line in file: # 遍歷file文件
3 print('line裡面存放的是:',line) # 循環列印文件中每一行內容
4 print(type(line)) # <class 'str'> 類型是字元串
5 file.close()# 關閉文件
用with的方式打開文件,不用擔心使用完文件後忘記關閉,它會自動將文件關閉1 with open('test1.txt','r+') as file:
2 for line in file:
3 print('line裡面存放的是:',line) # 循環列印文件中每一行內容
4 print(type(line)) # <class 'str'> 類型是字元串
3、向文件中寫入內容
1 with open('users','a+') as fw: # 打開文件
2 fw.write('寫入文件內容')
4、用函數的方式讀取文件
1 def read_file(filename):
2 '''
3 用來讀取文件內容
4 :param filename: 文件名
5 '''
6 with open(filename,'a+') as fr:
7 fr.seek(0) # 移動文件指針
8 content = fr.read() # content 類型是字元串
9 print('content:',content)
10 read_file('users') # 調用函數
5、用函數的方式寫文件
1 def write_file(filename,content):
2 '''
3 用來讀取文件內容的
4 :param filename: 文件名
5 '''
6 with open(filename,'a+') as fw:
7 fw.seek(0) # 移動文件指針
8 fw.truncate() # 清空文件內容
9 fw.write(str(content))
10 write_file('a','hello world') # 調用函數
『玖』 Python如何用文件操作把執行結果保存到文件里
最簡單的寫法是用with,比如:
list1=['aaa','bbb','ccc']
with open('filename.txt','w')as fl:
for line in list1:
fl.write(line + '\n')
上面的運行結果會生成那個名字的文本,沒有則會創建。我這里只是展示一下最簡單的文本操作方法。請自行網路自己認真了解一下。小甲魚視頻裡面有相關教程和許多關於這個的練習題,你也可網路看看。
『拾』 python文件操作問題
由於你寫的是相對路徑,運行時要注意當前工作目錄是什麼,在CMD中,就是前面提版示符的權路徑。CMD的默認工作目錄是當前用戶目錄,即C:\Users\用戶名,此時運行你的python程序,那麼open("yesterday.txt")將會試圖在這個目錄下尋找yesterday.txt文件,找不到則會報錯。