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))