A. 如何利用python讀取特定目錄下的特定文件的倒數兩行
1. 使用橡飢os.walk遍歷所有的文件。
2. 使用os.path.splitext獲取每個文件的擴展名梁塵返。篩選出擴展名是兄伏txt的文件。
3. 將上一步的結果組成一個list,按照時間排序。
4. 取出list的後2個元素。
5. 寫入list.txt。
B. 用Python讀入規定目錄下的txt文件中的部分內容
我把 bcd 或 dbf 的行都列印出來了,如果不需要自己刪掉相關代碼即可
divident=0
forlinopen("1.txt","滾亂r"):
升備橘l=l.strip()
iflen(l)==0:
continue
k,v=l.split()
ifk=='bcd':
吵團printk,v
divident=int(v)
divisor=0
forlinopen("2.txt","r"):
l=l.strip()
iflen(l)==0:
continue
k,v=l.split()
ifk=='dbf':
printk,v
divisor=int(v)print
print"%d/%d=%d"%(divident,divisor,divident/divisor)
C. python3怎麼讀取目錄下所有txt文件,並將文件名讀取順序保存到字典
import os
result = {}
for f_path,f_dir,f_files in os.walk(絕對閉瞎目錄):
if not f_files:
continue
for f in f_files:
if f.spilt('握肆.')[-1] == '段態轎txt':
result[f] = len(result)
D. python獲取指定目錄下所有文件名列表的方法
本文實例講述了python獲取指定目錄下所有文件名列表的方法。分享給大家供嫌返廳大家參考。具體實現方法如下:世攔
這里python代碼實現獲取文件名列表的功能,可以指定文件中包含的字元,方便提取特定類型的文件名列表:
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- coding: utf-8 -*-
#~ #------------------------------------------------------------------
#~ mole:wlab
#~ Filename:wgetfilelist.py
#~ Function :
#~ def IsSubString(SubStrList,Str)
#~ def GetFileList(FindPath,FlagStr=[]):
#~ 功能:讀取芹隱指定目錄下特定類型的文件名列表
#~ Data: 2013-08-08,星期四
#~ Author:吳徐平
#~ Email:[email protected]
#~ #------------------------------------------------------------------
#~ #------------------------------------------------------------------
def IsSubString(SubStrList,Str):
#判斷字元串Str是否包含序列SubStrList中的每一個子字元串
#SubStrList=[F,EMS,txt]
#Str=F06925EMS91.txt
#IsSubString(SubStrList,Str)#return True (or False)
flag=True
for substr in SubStrList:
if not(substr in Str):
flag=False
return flag
#~ #----------------------------------------------------------------------
def GetFileList(FindPath,FlagStr=[]):
#獲取目錄中指定的文件名
#FlagStr=[F,EMS,txt] #要求文件名稱中包含這些字元
#FileList=GetFileList(FindPath,FlagStr) #
import os
FileList=[]
FileNames=os.listdir(FindPath)
if (len(FileNames)0):
for fn in FileNames:
if (len(FlagStr)0):
#返回指定類型的文件名
if (IsSubString(FlagStr,fn)):
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
else:
#默認直接返回所有文件名
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
#對文件名排序
if (len(FileList)0):
FileList.sort()
return FileList
可以使用pip在線安裝wlab
?
1
pip install wlab
還是給個圖吧:
希望本文所述對大家的Python程序設計有所幫助。
E. 讀取python遍歷中文目錄得到的文件路徑報錯
這是因為路徑裡麵包含中文的原因:
linux的系統字元編碼默認為utf-8,而要搜索的文件路徑nameFile是Unicode,需要進行解碼成unicode,因此作如下修改:
fout=codecs.open(nameFile.encode("utf-8"),"w","utf-8"
當然,另外一種方法就是修改為英文的路徑;
關於編碼和解碼的知識,請參考:http://www.cnblogs.com/qiernonstop/p/3634462.html
F. 用Python讀入規定目錄下的txt文件中的部分內容
# filename: test.py
import os
users = [] # 用來保存從文件中讀取的數據
for item in os.listdir('.'): # 遍歷指定目錄
if os.path.isfile(item) and item.endswith('.txt'): # 判斷是否為.txt文件
f = open(item) # 打開文件
for line in f: # 讀入文件的每一行
if line.startswith('用戶名'): # 變數初始化
uid = age = sex = None
elif line.startswith("用戶id"): # 根據每行開始內容獲取數據
uid = line.split()[1]
elif line.startswith("年齡"):
age = line.split()[1]
elif line.startswith("性別"):
sex = line.split()[1]
users.append([uid, age, sex]) # 將所獲得的數據以列表的形式追加到數組中
f.close() # 關閉文件
print(users) # 列印數組內容
# [['12345', '23', '男'], ['12346', '23', '男'], ['12347', '23', '男'], ['12348', '23', '男']]
使用的數據文件:
1.txt
------------
用戶名 abc
------------
用戶id 12345
年齡 23
性別 男
------------
用戶名 小張
------------
用戶id 12346
年齡 23
性別 男
2.txt
------------
用戶名 張三
------------
用戶id 12347
年齡 23
性別 男
------------
用戶名 李四
------------
用戶id 12348
年齡 23
性別 男
G. python讀取中文目錄出現亂碼
先對路徑進行unicode處理,然後再打開。舉例:
inpath = 'E:\MyProject\SVN_Project\Drawingboard_local\model\mydata\input\proction\示波器\0.htm'
uipath = unicode(inpath, "utf8")
然後用"uipath"經過編碼後的路徑去open()即可:
fin = open(uipath)
H. python 怎麼讀取當前目錄下指定文件
讀文本文件
input = open('data', 'r')
#第二個參數默認為r
input = open('data')
讀二進制文件
input = open('data', 'rb')
讀取所有內容
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
讀固定位元組
file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_object.close( )
讀每行
list_of_all_the_lines = file_object.readlines( )
如果文件是文本文件,還可以直接遍歷文件對象獲取每行:
for line in file_object:
process line
I. 是用python 寫一段文件操作, 要求:讀取目錄下所有文件,並輸出查詢到欄位到另外一個文件下保存。
importos
dn=os.getcwd()#獲取當前目改談歲錄
L=os.listdir(dn)
with侍兄open('result.txt','w')aswf:
wf.write(' '核睜.join(L))