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 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...
随机推荐
- .gitignore文件配置以及gitee提交报Push rejected...错误解决
.gitignore文件配置 .gitignore 文件可以用来忽略被指定的文件或文件夹的改动.记录在.gitignore文件里的文件或文件夹是不会被 git 跟踪到,也就是被忽略的文件是不会被上传到 ...
- 如何用 Python 隐藏你的 API 密钥
你好,我是悦创. 博客首发:https://bornforthis.cn/posts/19.html 有时您需要在代码中存储敏感信息,例如密码或 API 密钥,而在 Python 中最简洁的方法是使用 ...
- 单向绑定vs双向绑定、单向数据流vs双向数据流
参考文章:http://www.qb5200.com/article/482839.html 单双向绑定指的是View层跟Model层之间的映射关系 单向绑定vs双向绑定 react采用单向绑定,vu ...
- 关于Token和Cookie做权限校验的区别及Token自动续期方案
title: 关于Token和Cookie做权限校验的区别及Token自动续期方案 categories: 后端 tags: - .NET Token和Cookie的区别 首先,要知道一些基本概念:h ...
- py之循环,函数
循环 a=1 while a<10: print(a) a+=1 a=[123,1235,123124,1231] while a: a1=a.pop() print(a1) for a1 in ...
- 使用json数据动态创建表格2(多次绘制第一次简化 var tr=tbody.insertRow();)
<!DOCTYPE HTML> <html> <head> <title>动态创建表格</title> <meta charset=& ...
- npm 中设置环境NODE_ENV变量,判断失败打印process.env.NODE_ENV确实是"development",但是判断process.env.NODE_ENV === "development" 是false
通过package.json 的scripts脚本 修改NODE_ENV的值来区分开发环境和生产环境. "scripts": { "build": " ...
- java 进阶P-3.7
HASH表 Java 集合框架 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的 ...
- ARM启动顺序
iROM(也叫BL0)的作用: 初始化系统时钟,设置看门狗,初始化栈和堆 加载BL1 BL1的作用: 初始化RAM , 关闭Cache , 设置栈 加载BL2 BL2的作用: 初始 ...
- Vue33 使用nvm管理nodejs
1 nvm简介 NVM:Node Version Manage,即Node的版本管理工具.使用NVM,可以按照nodejs,可以进行版本切换,可以卸载nodejs等等. 由于项目开发当中,不同的项目可 ...