我正在创建一个使用机器学习算法(用python编写)的软件,并且我目前正在设置一个从文件中获取数据的环境。
问题是我找不到让函数在文件中搜索任何字符串的方法,这样它就可以继续搜索特定的字符串。
我已经创建了一些列表,这些列表在每次程序启动时都是空的,并且会自动填充(例如:data.append(data_from_file))和我的文件environment_data.txt中的数据。
我没有尝试太多,因为我真的不知道如何让它搜索任何字符串。
这些是列表。
tasks = []
deadlines_month = []
deadlines_week = []
deadlines_days = []
difficulty = []文件格式是:它有一点问题,但这是一个小问题。
Task( ex. Maths)
Month( ex. 4)
Week(From how many weeks the month has ex. 3)
Days(Days of the week, ex. 4)
Difficulty(from 1 to 10, ex. 9)这是附加列表的类:
class ArrayFix:
def __init__(self, num):
file = open("environment_data.txt", "r")
lines = file.readlines()
tasks.append(lines[num + 1])
deadlines_month.append(lines[num + 2])
deadlines_week.append(lines[num + 3])
deadlines_days.append(lines[num + 4])
difficulty.append(lines[num + 5])
file.close()这是搜索字符串以追加列表的函数。
for line in array_fix_num:
file = open("environment_data.txt", "r")
lines = file.readlines()
if str in file.read():
if str in lines[line]:
ArrayFix(line)
else:
pass
else:
file.close()
break我可以放什么来搜索函数上str所在位置的任何字符串?
预期的结果是列表不是空的,而是包含来自文件的数据,但它们仍然是空的,因为我不知道如何搜索任何字符串。
发布于 2019-01-05 01:15:28
因此,您可以打开、读取和关闭文件,并将行分配给变量:
file = open("environment_data.txt", "r")
lines = file.readlines()
file.close()然后,您可以应用一些简单的检查逻辑来查找您要查找的数据:
data_test_case = "cat"
for line in lines:
if data_test_case in line:
DoSomething(line)您可以使用Regex实现更复杂的模型:
import re
line = "Jan 3 07:57:39 Kali sshd[1397]: Failed password for root from 172.16.12.55 port 34380 ssh2"
new_line = re.findall('^[a-zA-Z]+\s+\d+\s+[\d\:]+', line)[0]输出:
'Jan 3 07:57:39'这就是你想要的东西吗?
https://stackoverflow.com/questions/54043282
复制相似问题