python 中os.path.append(),设定从kafka读取文件的时间 如:从kafka中读取半个小时的数据
2017-09-05 21:42
495 查看
os.path.append()
对于模块和自己写的程序不在同一目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中。
需要在程序开头加上:
import sys
sys.path.append('引用模块的地址')
例子:
#C:\Users\Administrator\Desktop\Hello.py #Hello.py程序存放路径
#Hello.py
def hello():
print("hello,world")
import sys
sys.path.append('C:\\Users\\Administrator\\Desktop')
import Hello
Hello.hello()
设定从kafka读取文件的时间
如:从kafka中读取半个小时的数据
以下代码实现:
import sys
sys.path.append("..")
from datetime import datetime
from utils.kafka2file import KafkaDownloader #引入KafkaDownloader模块
import os
TOPIC = "rtz_queue"
HOSTS = "1.1.1.1:9092,1.1.1.2:9092"
GROUP = "2001"
def get_end_time(hour,minute,time_step):
if (minute+time_step)%60<60:
if (minute+time_step)%60<10: #小于10分钟的转化为分钟数前添加0
return str(hour+int((minute+time_step)/60))+":"+"0"+str((minute+time_step)%60)
else:
return str(hour+int((minute+time_step)/60))+":"+str((minute+time_step)%60)
else:
pass
#@time_step:时间间隔
#@tme_num:时间间隔次数
def kafkawritefile(time_step,time_num):
start = datetime.now()
downloader = KafkaDownloader(HOSTS, TOPIC, GROUP)
i = 1
while(i<=time_num):
end_time = get_end_time(start.hour, start.minute,i*time_step) #读取数据,每次结束时间
end_time_file = end_time.replace(':', '_') #文件名中不能用:,用-替换掉
outfile_path = "/data/tmp/" + end_time_file + ".csv"
if os.path.exists(outfile_path):
os.remove(outfile_path)
writefile = open(outfile_path, 'a+')
for msg in downloader.message():
msg1 = str(msg)
msg2 = msg1[2:len(msg1)-1]
curr_time = datetime.now()
curr_time = str(curr_time)
split_curr_time = curr_time.split(' ')
curr_time_str = split_curr_time[1][0:5]
if curr_time_str<str(end_time):
writefile.write(str(msg2))
writefile.write('\n')
else:
writefile.write(str(msg2))
writefile.write('\n')
writefile.close()
break
i += 1
if __name__=='__main__':
time_step = 5
time_num = 6
kafkawritefile(time_step,time_num)
对于模块和自己写的程序不在同一目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中。
需要在程序开头加上:
import sys
sys.path.append('引用模块的地址')
例子:
#C:\Users\Administrator\Desktop\Hello.py #Hello.py程序存放路径
#Hello.py
def hello():
print("hello,world")
import sys
sys.path.append('C:\\Users\\Administrator\\Desktop')
import Hello
Hello.hello()
设定从kafka读取文件的时间
如:从kafka中读取半个小时的数据
以下代码实现:
import sys
sys.path.append("..")
from datetime import datetime
from utils.kafka2file import KafkaDownloader #引入KafkaDownloader模块
import os
TOPIC = "rtz_queue"
HOSTS = "1.1.1.1:9092,1.1.1.2:9092"
GROUP = "2001"
def get_end_time(hour,minute,time_step):
if (minute+time_step)%60<60:
if (minute+time_step)%60<10: #小于10分钟的转化为分钟数前添加0
return str(hour+int((minute+time_step)/60))+":"+"0"+str((minute+time_step)%60)
else:
return str(hour+int((minute+time_step)/60))+":"+str((minute+time_step)%60)
else:
pass
#@time_step:时间间隔
#@tme_num:时间间隔次数
def kafkawritefile(time_step,time_num):
start = datetime.now()
downloader = KafkaDownloader(HOSTS, TOPIC, GROUP)
i = 1
while(i<=time_num):
end_time = get_end_time(start.hour, start.minute,i*time_step) #读取数据,每次结束时间
end_time_file = end_time.replace(':', '_') #文件名中不能用:,用-替换掉
outfile_path = "/data/tmp/" + end_time_file + ".csv"
if os.path.exists(outfile_path):
os.remove(outfile_path)
writefile = open(outfile_path, 'a+')
for msg in downloader.message():
msg1 = str(msg)
msg2 = msg1[2:len(msg1)-1]
curr_time = datetime.now()
curr_time = str(curr_time)
split_curr_time = curr_time.split(' ')
curr_time_str = split_curr_time[1][0:5]
if curr_time_str<str(end_time):
writefile.write(str(msg2))
writefile.write('\n')
else:
writefile.write(str(msg2))
writefile.write('\n')
writefile.close()
break
i += 1
if __name__=='__main__':
time_step = 5
time_num = 6
kafkawritefile(time_step,time_num)
相关文章推荐
- SparkStreaming python 读取kafka数据将结果输出到单个指定本地文件
- python读取文件数据导入到hbase
- python读取json文件并将数据插入到mongodb的方法
- Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
- 002_009 Python 从Zip中读取数据 直接检查一个zip格式的归档文件部分或所有文件而且不用解压
- Python读取数据文件转存成矩阵形式
- python 从两个配置文件读取数据,形成一个url思路代码
- 读书笔记--python数据可视化--002_读取Excel文件数据
- Python导出数据到Excel可读取的CSV文件的方法
- 读书笔记--python数据可视化--003_读取定宽数据文件
- python读取EXCLE文件数据
- 用 java 读取excel 文件里的时间格式数据时,24时制会自动转化为12时制,解决办法
- Python读取文件数据
- Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
- 使用python读取csv文件,并将数据更新至mysql
- 从零学python系列之从文件读取和保存数据
- python 文件处理模块的使用,如何读取文件中数据
- python 数据文件的读取
- python直接按行读取gz压缩文件中的文本文件的数据
- python从oracle读取数据写入到文件里