perl的学习:将分句脚本split-sentences.perl转为python脚本
my @array=(1,2,3);
$array[50]=4; #此时数组长度为51,但数组中只有4个元素(index:0,1,2,50)。
数组其他的功能如添加删除元素,切割、替换数组,将字符串转为数组,将数组拼接成字符串,排序,合并,选择等操作不再解释,相关教程很详细。
while (@ARGV) {
$_ = shift; #是 $_=shift(@ARGV); 的简写,将数组的第一个元素移除并赋值个特殊变量$_。$_是默认输入和模式匹配内容,特殊变量最常用的操作就是省略,这就导致了代码对于初学者不易读。
/^-l$/ && ($language = shift, next); # 也是简写,相对完整的写法如下
/^-q$/ && ($QUIET = 1, next); #循环体内其他代码也是类似的简写。
/^-h$/ && ($HELP = 1, next);
}
/^-l$/ && ($language = shift, next); 相对完整的代码如下:
if ($_m/^-l&/ ){ # 如果$_匹配成功
$language = shift(@ARGV); # 从@ARGV中再取出一个元素赋值给$language
next; # 结束本次循环,开始下次循环
}
while(@ARGV){} 是一个标准循环。在调用脚本的时候将参数定义为数组,传递给@ARGV。
my $text = "";
while(<STDIN>) { # 对标准输入进行循环,如果是<>,则是对文件输入进行循环
chop; # 早期版本是 chomp; 完整的代码应该是$_=<STDIN>;chop($_); 对输入内容去除最后一个字符或数组中每个元素的最后一个字符,通常用于去掉换行符。
if (/^<.+>$/ || /^\s*$/) { # 对$_进行正则匹配 ,如果是特殊变量$_,很多地方可以省略。匹配模式m,也可以省略。
#time to process this block, we've hit a blank or <p>
&do_it_for($text,$_); #当输入的内容是空行或者<p>,就开始调用方法处理已输入内容
print "<P>\n" if (/^\s*$/ && $text); ##if we have text followed by <P>
$text = "";
}
else {
#append the text, with a space
$text .= $_. " "; # . 用空格连接字符串
}
}
sub do_it_for { #定义方法
my($text,$markup) = @_; # @_变量用来传递变量
print &preprocess($text) if $text; # 如果$text 不为空,则调用preprocess函数。
print "$markup\n" if ($markup =~ /^<.+>$/);
#chop($text);
}
perl的学习:将分句脚本split-sentences.perl转为python脚本的更多相关文章
- c#调用python脚本实现排序(适用于python脚本中不包含第三方模块的情况)
引用:https://www.cnblogs.com/zoe-yan/p/10374757.html 利用vs2017c#调用python脚本需要安装IronPython.我是通过vs2017的工具- ...
- Python脚本:Linux自动化执行Python脚本
1.环境及其工具: ubuntu 16.04 python2.7(自带) pip2.7(安装) virtualenv(安装) crontab (自带) 2.pip2.7安装 (1)尝试使用 sudo ...
- 查看python脚本的运行pid,让python脚本后台运行
ps -ef | grep Productor.py | grep -v grep # 先测试好 python3 /usr/local/software/ELK/Productor.py # 没问题 ...
- 【原创】控制perl和python脚本执行过程中脚本文件是否关闭的方法
引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和pyt ...
- Python与Hack之window下运行带参数的Python脚本,实现一个简单的端口扫描器
1.前提是:windows已经配置好Python的环境变量: 2.进入cmd命令行模式: **输入python命令,检测是否环境配置好:显示这样说明配置环境变量没问题 **用cd命令进入Python脚 ...
- 如何在命令行里运行python脚本
python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写.python在生物信息.统计.网页制作.计算等多个领域都体现出了强大的功能.python和其他脚本语言如java.R ...
- C#调用Python脚本打印pdf文件
介绍:通过pdf地址先将文件下载到本地,然后调用打印机打印,最后将下载的文件删除. 环境:windows系统.(windows64位) windows系统中安装python3.6.2环境 资料: O ...
- Windows运行python脚本文件
开始学习python就是听说这个语言写脚本文件特别方便,简单使用.学了一段时间,但是直到现在我才直到直到怎么在Windows的cmd上运行脚本文件. 之前一直都是在pycharm上运行,并不实用. 百 ...
- spark-submit提交python脚本过程记录
最近刚学习spark,用spark-submit命令提交一个python脚本,一开始老报错,所以打算好好整理一下用spark-submit命令提交python脚本的过程.先看一下spark-submi ...
- 使用sae定时执行Python脚本
使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...
随机推荐
- cmd/批处理常用命令
启动新窗口执行命令 ::执行完毕以后,新开的窗口不会自动关闭 start cmd /k echo 123 ::执行完毕以后,新开的窗口会自动关闭 start cmd /C "echo 123 ...
- 杂项 NOI2020 打铁记
杂项 NOI2020 打铁记 day -一个月 他一个月前,期末考试刚刚结束,开始了NOI2020的冲刺.虽然时间并不充足,但一想到一个月后能站在国赛的赛场上,与来自全国的高手们一较高下,他充满了干劲 ...
- linux 基础(2) 文件权限及其修改
文件的权限属性 在 linux 中,每个文件都有唯一的"所属者"(user)和"所属群组"(group).owner 和 group 都对文件有特殊的权限 输入 ...
- 从log4j切换到logback后项目无法启动
1.背景 有个旧项目之前使用的是log4j2来打印日志的,因为某些原因,同事想换成logback. 换成logback改动也很简单,大致就一下2步: 删除log4j2.xml配置,新增logback. ...
- youtube-dl下载太慢了,我选yt-dlp
前言 最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错! 国内平台自然是没有(或者不全的),需要在YouTube下载~ 之前 ...
- angular组件共用服务打印日志父子组件传值2创建服务注入
- 函数式编程思想概述-冗余的Runnable代码
函数式编程思想概述 在数学中,函数就是有输入量.输出星的一套计算方案,也就是"拿什么东西做什么事情".相对而言,面向对象过分强调"必须通过对象的形式来做事情", ...
- vue学习笔记(七)---- vue中的路由
一.什么是路由 对于普通的网站来说,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源 对应单页面的应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,h ...
- 12月19日内容总结——Q查询进阶、ORM查询优化、ORM事务、ORM常用字段类型和字段参数、Ajax介绍、数据编码格式、Ajax携带文件数据
目录 一.Q查询进阶操作 二.ORM查询优化 三.ORM事务操作 四.ORM常用字段类型 五.ORM常用字段参数 六.Ajax AJAX简介 应用场景 AJAX的优点 语法实现 七.数据编码格式(Co ...
- 淘宝首页数据采集之js采集
搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 既然能打到控制台,当然也能传到系统!!! 既然能打到控制台,当然也能传到系统!!! 既然能打 ...