首页 > 编程语言 >Perl:提取门纲目科属种

Perl:提取门纲目科属种

时间:2023-05-16 21:46:38浏览次数:32  
标签:文件 科属种 代码 Perl 纲目 txt line pan OUT

#!/usr/bin/perl
open IN,"C:\\Users\\Administrator\\Desktop\\all.txt";
open OUT,">C:\\Users\\Administrator\\Desktop\\Bac_species.txt";
$a = readline(IN);
print OUT "$a";
while($line=<IN>)
{
chomp $line;
@line = split(/\t/,$line);
@lin = split(/\|/,$line[0]);
$pan = pop(@lin);
if($pan =~ /^s\_/)
{
print OUT "$line\n";
}
}

#################################################################

这段Perl代码的作用是对输入文件进行处理,并将符合条件的行写入到输出文件中。

具体分析如下:

  1. 第一行代码打开了一个名为"all_tax.txt"的输入文件,并将其关联到文件句柄IN。文件路径是"C:\Users\Administrator\\Desktop\all.txt"。

  2. 第二行代码打开了一个名为"Bac_species.txt"的输出文件,并将其关联到文件句柄OUT。文件路径是"C:\Users\Administrator\\Desktop\\Bac_species.txt"。

  3. 第三行代码从输入文件IN中读取一行数据,并将其赋值给变量$a。

  4. 第四行代码将变量$a的内容写入输出文件OUT。

  5. 接下来是一个while循环,从输入文件IN中逐行读取数据,存储到变量$line中。

  6. 第七行代码使用chomp函数去除$line末尾的换行符。

  7. 第八行代码使用split函数将$line以制表符(\t)为分隔符拆分成数组@line。

  8. 第九行代码使用split函数将@line中第1个元素(索引为0)以竖线(|)为分隔符拆分成数组@lin。

  9. 第十行代码使用pop函数从@lin中弹出最后一个元素,并将其赋值给变量$pan。

  10. 第十一行代码使用正则表达式判断$pan是否以"s_"开头。

  11. 如果$pan符合正则表达式的条件,即以"s_"开头,那么第十二行代码将当前的$line内容写入输出文件OUT。

综合来看,这段代码的目的是从输入文件中读取数据,并将满足条件(以"s_"开头)的行写入到输出文件中。根据文件名和变量名的命名方式,可能是用于从输入文件中提取具有特定标记(以"s_"开头)的细菌(Bacteria)物种信息,并将其保存到输出文件中,以便后续处理或分析。

标签:文件,科属种,代码,Perl,纲目,txt,line,pan,OUT
From: https://www.cnblogs.com/wzbzk/p/17406902.html

相关文章

  • How to ensure all the deposits to exchange accounts are reflected properly?
    Accounts,includingexchangeaccounts,canreceivefundsintwoways:an“external”,or“top-level”transfer(eg.iff1XXXsendsamessagetof1ZZZthattransfers1FIL),and“internal”transfers”thatresultfromasubinvocation.Anexampleof“inter......
  • Perl——介绍
     Perl的骆驼图案Perl骆驼是欧莱礼媒体(O'ReillyMedia)设计给Perl编程语言的图标。它也是一种黑客的象征,出现在某些T-shirt和其他衣服标签上。欧莱礼拥有此图像之商标,并且宣称,唯有在捍卫“符号之完整性”时,才会行使其法律上的权力。[2]欧莱礼允许此商标在非商业目的之前提下被......
  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.3 or newer is requi
     1、在项目中__init__.py中这个报错原因,python3.5以上版本不支持这种方式frompymysqlimportinstall_as_MySQLdbinstall_as_MySQLdb()解决:importpymysqlpymysql.version_info=(1,4,3,"final",0)#指定了pymysql的版本:1.4.3,按照你版本修改pymysql.install_as_MySQLdb()......
  • 超链接函数Hyperlink(Excel函数集团)
    基本用法是=HYPERLINK("链接地址","显示文字")以下各种变种:打开网上链接=HYPERLINK("http://www.excelpx.com/")LAN内操作=HYPERLINK("\\FINANCE\Statements\1stqtr.xls",C38)跨文件夹操作=HYPERLINK("D:\FINANCE\1stqtr.xls",C42)工作簿内操作=H......
  • Perlin噪声
    title:Perlin噪声date:2023-04-1811:10:14tags:-噪声-perlincategories:-充电学习perlin基本信息Perlin噪声(Perlinnoise,又称为柏林噪声)指由KenPerlin发明的自然噪声生成算法,具有在函数上的连续性,并可在多次调用时给出一致的数值。在电子游戏领域中......
  • Perl教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介Perl入门教程-从基本到高级概念的简单简单步骤了解Perl,包括简介,环境,语法,数据类型,变量,标量,数组,哈希,IF...ELSE,循环,运算符,日期和时间,子程序,引用,格式,文件I/O,目录,错误处理,特殊变量,编码标准,正则表达式,发送电子邮件,套接字编程,面向对象,数据库访问,CGI编程,包和模块,流程管理,嵌......
  • redis之哈希类型-列表类型-集合类型-有序集合-慢查询-pipeline-发布订阅-Bitmap位图-H
    目录redis之哈希类型-列表类型-集合类型-有序集合-慢查询-pipeline-发布订阅-Bitmap位图-HyperLogLog-GEO地理位置昨日内容回顾今日内容详细1哈希类型2列表类型3集合类型4有序集合5慢查询6pipeline与事务7发布订阅8Bitmap位图9HyperLogLog10GEO地理位置redis之哈希类型......
  • 哈希类型 列表类型 集合类型 有序集合 慢查询 pipeline与事务 发布订阅 Bitmap位图 Hy
    昨日回顾#1redis介绍 -特性#速度快:10wops(每秒10w读写),数据存在内存中,c语言实现,单线程模型#持久化:rdb和aof#多种数据结构:5大数据结构BitMaps位图:布隆过滤器本质是字符串HyperLogLog:超小内存唯一值计数,12kbHyperLogLog本质是......
  • Redis高级 哈希类型、列表类型、集合类型、有序集合(zset)、慢查询、pipeline与事务
    哈希类型###1---hget,hset,hdelhgetkeyfield#获取hashkey对应的field的value时间复杂度为o(1)hsetkeyfieldvalue#设置hashkey对应的field的value值时间复杂度为o(1)hdelkeyfield#删除hashkey对应的field的值时间复杂度为o(1)#测试hsetuser:1:infoage......
  • 【Redis】哈希类型 列表类型 集合类型 有序集合 慢查询 pipeline与事务 发布订阅 Bitm
    目录昨日回顾今日内容1哈希类型2列表类型3集合类型4有序集合(zset)5慢查询6pipeline与事务7发布订阅8Bitmap位图9HyperLogLog作业昨日回顾#1redis介绍 -特性#速度快:10wops(每秒10w读写),数据存在内存中,c语言实现,单线程模型#持久化:rdb和aof#多种数据结......