python调用perl_Perl转换python,读取文件以及定义函数,

师傅给了一个perl文件处理res文件,让我转换成python文件处理,对于res文件,我不知道怎么用python读取,想要实现每一组数对应一个波形,对有大于0.5的大于6个点大于1的有3个点的波形并且波形后有bath路径的记一个,最后记总数,,#!/usr/bin/python

#_*_coding:UTF-8_*_

#if argv != 5 :

#return

#($INPUT,$THRES_PEAK,$SMOOTH_WIN,$peak) = @ARGV;

def argv(self):

(INPUT,THRES_PEAK,peak,THRES,SMOOTH_WIN)= argv

file_object = open('US_HI_BIX_PC_TC_CarDowntown_5dB.res',r)

try :

f = file_object.read( )

THRES = 4.5

total = 0

recall = 0

work = 0

on_off = 0

count_down=0

count_down_path=0

line= file_object.readline()

line=line.strip('\n')

while line :

total+=1

#print "$content\n";

if count_down > 0 :

count_down+=1

if count_down_path > 0 :

count_down_path-=1

as="bt_"

if as in line :

if count_down > 0 :

recall+=1

count_down=0

#print "=================================$total\n";

count_down_path = 15

else :

val = line.split()

inv_score = val[0]

def inv_score

in_score = inv_score

if in_score >= THRES & on_off == 0 :

work = 1

if in_score >= THRES_PEAK :

pcount = 1

else :

pcount = 0

st = st_time

on_off = 1

elif in_score >= THRES && on_off == 1 :

work+=1

if in_score >= THRES_PEAK :

pcount+=1

elif in_score < THRES && on_off == 1 :

ed = last_ed

if work >= SMOOTH_WIN && pcount >= peak && count_down_path > 0 :

recall+=1

# print "===============================$total\n";

count_down_path = 0

elif work >= SMOOTH_WIN & pcount >= peak :

#$recall+=1

count_down=7

print OUT "$total\t"

print OUT "$pcount\n"

work = 0

on_off = 0

last_st = st_time

last_ed = ed_time

if work >= SMOOTH_WIN & pcount >= peak :

recall+=1

print "recall\n"

finally:

if f:

f.close()

我根据他的改的,但是感觉好像哪里都不对,,作为新手小白,知道很令人无语,所以求大神们帮帮忙。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值