[PYTHON]python代码秀!!!强人们快来参与啊!
最近人气太差啦.大家随件找些代码贴出来相互学习一下吧.
我先来.
昨天搞到了relolution_os的avi,看了半天发现只能听得大概意思,不爽.还好在linuxfourm上找到了它的中英文字幕.不过可能强人们造字幕时用的avi和我下的有点不同:我的前面剪了7秒的空白.导致对不上,在mplayer里找了半天也不知道怎么调,到是有一个subtitle delay的控制,不过没啥用.
打开字幕文件发现时间是按如下方式控制的:
1
00:00:01,500 --> 00:00:09,000
English subtitle generated by geek@geekbone.org
中文字幕由yinux翻译整理,2004年3月
2
00:00:09,500 --> 00:00:11,000
I was at the Agenda 2000
那是在2000年例会(Agenda 2000)期间
3
00:00:11,600 --> 00:00:14,400
and uh, one of the people who was there
was Craig Mundie,
参加人的里有个叫Craig Mundie的家伙
4
00:00:14,400 --> 00:00:17,500
who is some kind of
high mucky muck at Microsoft,
是Microsoft公司的一个大头头
5
00:00:18,000 --> 00:00:21,500
I think uh, vice-president of consumer products
or something like that.
我觉得,嗯,是管客户产品的副总裁吧,或是
和那差不多的大头。
用我的超强代码一搞,每个时间都提前7秒啦.这样看起来才爽.不过昨天搞到1:30,今天才有福看碟.
顺便学习了一下re
#code start
#
#puropose shift srt-subtitle time
#author mahongxi enjoylinux@hotmai.com
#createdate 2004-09-23
#
import re
import sys
def usage():
print """
usage:python shiftsrt.py in_srtfilename out_srtfilename delayseconds
e.g. python shiftsrt.py mysrt.srt mysrt2.srt 4
"""
sys.exit(1)
#oldtime string "01:04:01,500"
#delay 4 (seconds) ret "01:07:57,500"
#delay -2.5 (seconds) ret "01:03:59,000"
def delaytime(oldtime,delay):
#get time info ,result like this [('01', '04', '01', '500')]
times = re.findall(r'^(\d+):(\d+):(\d+),(\d+)$',oldtime)
if len(times) == 0:
return none
#t1=1 t2=4 t3=1 t4=500
t1,t2,t3,t4 = [int(s) for s in times[0]]
#get seconds
val1 = t1*3600 + t2*60 + t3 + t4/1000.0
#get wanted seconds
val2 = val1 + delay
if val2 < 0:
return '00:00:00,000'
t1,mod = int(val2/3600),val2%3600
t2,mod = int(mod/60),mod%60
t3,mod = int(mod/1),mod%1
t4 = round(mod,3) * 1000
#return result
return r'%02d:%02d:%02d,%03d' % (t1,t2,t3,t4)
#end of def
if __name__ == '__main__':
if len(sys.argv) != 4:
usage()
infile = open(sys.argv[1],'r')
outfile = open(sys.argv[2],'w')
delay = float(sys.argv[3])
for s in infile.readlines():
res = re.findall(r'^(\d+:\d+:\d+,\d+) --> (\d+:\d+:\d+,\d+)\s*$',s)
if len(res) == 0:
outfile.write(s)
else:
temp = r'%s --> %s' % (delaytime(res[0][0],delay),delaytime(res[0][1],delay))
outfile.write(temp + '\n')
outfile.close()
infile.close()
#code end
我先来.
昨天搞到了relolution_os的avi,看了半天发现只能听得大概意思,不爽.还好在linuxfourm上找到了它的中英文字幕.不过可能强人们造字幕时用的avi和我下的有点不同:我的前面剪了7秒的空白.导致对不上,在mplayer里找了半天也不知道怎么调,到是有一个subtitle delay的控制,不过没啥用.
打开字幕文件发现时间是按如下方式控制的:
1
00:00:01,500 --> 00:00:09,000
English subtitle generated by geek@geekbone.org
中文字幕由yinux翻译整理,2004年3月
2
00:00:09,500 --> 00:00:11,000
I was at the Agenda 2000
那是在2000年例会(Agenda 2000)期间
3
00:00:11,600 --> 00:00:14,400
and uh, one of the people who was there
was Craig Mundie,
参加人的里有个叫Craig Mundie的家伙
4
00:00:14,400 --> 00:00:17,500
who is some kind of
high mucky muck at Microsoft,
是Microsoft公司的一个大头头
5
00:00:18,000 --> 00:00:21,500
I think uh, vice-president of consumer products
or something like that.
我觉得,嗯,是管客户产品的副总裁吧,或是
和那差不多的大头。
用我的超强代码一搞,每个时间都提前7秒啦.这样看起来才爽.不过昨天搞到1:30,今天才有福看碟.
顺便学习了一下re
#code start
#
#puropose shift srt-subtitle time
#author mahongxi enjoylinux@hotmai.com
#createdate 2004-09-23
#
import re
import sys
def usage():
print """
usage:python shiftsrt.py in_srtfilename out_srtfilename delayseconds
e.g. python shiftsrt.py mysrt.srt mysrt2.srt 4
"""
sys.exit(1)
#oldtime string "01:04:01,500"
#delay 4 (seconds) ret "01:07:57,500"
#delay -2.5 (seconds) ret "01:03:59,000"
def delaytime(oldtime,delay):
#get time info ,result like this [('01', '04', '01', '500')]
times = re.findall(r'^(\d+):(\d+):(\d+),(\d+)$',oldtime)
if len(times) == 0:
return none
#t1=1 t2=4 t3=1 t4=500
t1,t2,t3,t4 = [int(s) for s in times[0]]
#get seconds
val1 = t1*3600 + t2*60 + t3 + t4/1000.0
#get wanted seconds
val2 = val1 + delay
if val2 < 0:
return '00:00:00,000'
t1,mod = int(val2/3600),val2%3600
t2,mod = int(mod/60),mod%60
t3,mod = int(mod/1),mod%1
t4 = round(mod,3) * 1000
#return result
return r'%02d:%02d:%02d,%03d' % (t1,t2,t3,t4)
#end of def
if __name__ == '__main__':
if len(sys.argv) != 4:
usage()
infile = open(sys.argv[1],'r')
outfile = open(sys.argv[2],'w')
delay = float(sys.argv[3])
for s in infile.readlines():
res = re.findall(r'^(\d+:\d+:\d+,\d+) --> (\d+:\d+:\d+,\d+)\s*$',s)
if len(res) == 0:
outfile.write(s)
else:
temp = r'%s --> %s' % (delaytime(res[0][0],delay),delaytime(res[0][1],delay))
outfile.write(temp + '\n')
outfile.close()
infile.close()
#code end
...全文
相关推荐
Python高手之路
Python 高手之路,提升Python开发技能,早日成为python技术强人
宇宙规律对可解释强人工智能伦理决策框架的动态约束
引言 在当今技术飞速发展的时代,人工智能(AI)已经成为推动社会进步的重要力量。从自动驾驶汽车到智能医疗诊断,AI技术的应用场景不断扩大,深度学习和神经网络算法的发展更是令人瞩目。然而,随着AI系统的复杂度和能力不断提升,伦理问题也日益凸显。特别是在强人工智能(AGI)领域,如何确保其决策过程透明、可解释,并符合伦理标准,成为学术界和产业界共同面临的挑战。
python人工智能课程.pptx
- 弱人工智能、强人工智能和超人工智能的区别:弱AI擅长单一任务,强AI在各方面与人类智能相当,而超AI远超人类智能。 - 图灵测试作为评估机器智能的标准。
python-人工智能课程(1).pptx
课程参考了多个权威资源,如scikit-learn和tensorflow的官方文档,斯坦福大学的CS224d和CS231n课程材料,以及GitHub上的代码库。
尚硅谷python-人工智能课程(1).pptx
- **动手实践**: - 编写简单的程序如Hello, World!。 - 使用梯度下降法求解简单函数的最小值。 - 运行示例代码,如sgd.py,了解其工作原理。


