python 随机读取文件夹内一个文本文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 随机读取文件夹内一个文本文件相关的知识,希望对你有一定的参考价值。
python 随机读取文件夹内一个文本文件,该怎么写?
来个批量读取文件的例子:
def read_test_data():for parent,dirnames,filenames in os.walk(pbx_test_path):
for filename in filenames:
if filename[:5] == "TEST_":
file_path = pbx_test_path+"\\%s" % filename
#file_bak_path = pbx_test_path_bak+"\\%s" % filename
if os.path.isfile(file_path):
#print file_path
read_by_file(file_path)
#shutil.copyfile(file_path,file_bak_path)
try:
os.remove(file_path)
except WindowsError:
pass
def read_by_file(file_path):
file_object = open(file_path)
count = 0
thefile = open(file_path, 'rb')
while True:
buffer = str(thefile.readline())
if not buffer:
break
all_test_list = buffer.split(";")
all_test_list = all_test_list[:len(all_test_list)-1]#去除回车行
ziduan_str = ""
value_str = ""
for i,test in enumerate(all_test_list):
test_attr_list = test.split("=")
ziduan_str += ""+test_attr_list[0]+","
value_str += "'"+test_attr_list[1]+"',"
ziduan_str = "("+ziduan_str[:len(ziduan_str)-1]+")"
value_str = "("+value_str[:len(value_str)-1]+")"
sql_str = "insert into pbx_test"+ziduan_str+" values"+value_str+""
#mssql.insert(sql_str)
session.execute(sql_str)
count += buffer.count('\\n')
commit()
thefile.close() 参考技术A 第一步,遍历文件夹内全部文件。然后将文件放入一个列表中,然后在列表长度范围内随机一个出来作为列表下标。然后读取列表下标对应的文本文件。
# -*- coding: utf-8 -*-
import os
import random
file_path = r'E:\test1'
file_list = []
for i in os.listdir(file_path):
file_list.append(os.path.join(file_path,i))
index_file = random.randint(0,len(file_list)-1)
p = open(file_list[index_file])
print p.read()
python读取文本文件,如何将每行最后一个特定字符替换?
python读取文本文件,每行最后一个/替换为\
文本文件列子如下: /咖啡/速溶咖啡/测试数据/测试数据2, 20220201
/咖啡/拿铁/测试/测试2/测试3/测试4, 20220202
/咖啡/卡布奇诺/测试测试/测试测 20220202
/咖啡/美式 20220203
请问应该如何写python语句?
方法:
解释,s.count(\'/\')计算原来有多少个特定字符串,然后第一步全部替换,第二步将count-1个还原
按照你的要求编写的用正则表达式替换的Python程序如下(注意图中源代码的缩进)
import re
with open("test.txt",'r') as f:
for line in f:
line_data=line.strip("\\n")
result=re.sub(r'^(.*)/',r'\\1\\\\',line_data)
print(result)
追问大佬,在此基础上请教下,因为我这个文本是上百万行的。 原来的是 E:\\咖啡\\速溶咖啡\\测试数据\\测试数据2, 20220201
E:\\咖啡\\拿铁\\测试\\测试2\\测试3\\测试4, 20220202
E:\\咖啡\\卡布奇诺\\测试测试\\测试测 ,20220202
E:\\咖啡\\美式 20220203
我想要的结果是你这个最后的结果,应该怎么来写呢。
如果输出到控制台,可以用下面的Python程序(见图1)
如果要把文件中的内容转换后写到另一个文件,用下面的的Python程序(见图2)
以上是关于python 随机读取文件夹内一个文本文件的主要内容,如果未能解决你的问题,请参考以下文章