Perl 文本文件的读写操作、文件的重命名和删除、多个文本文件的合并实现代码

读文件:


代码如下:

#!perl
open filetxt,"/path/a.txt";   #  filetxt为文件句柄,用于和文件a.txt建立链接。文件句柄可任意取名,但不要和Perl自带的几个文件句柄重名。
print <filetxt>;                 #  此处print函数用于显示文件a.txt的内容。<>为取行操作符,<文件句柄>用于读取所链接文件的内容。
close filetxt;                    #  关闭文件句柄filetxt。另一种关闭的方法是将其与其它文件建立关联,如:open filetxt,"b.txt";如此则与原来文件a.txt的关联自动关闭。

或者

代码如下:

#!perl
open filetxt,"<path/a.txt"; #  < 用于从文件中读取内容,但是不能写入任何内容到文件中。< 与 什么符号都不加 效果相同
while ($line=<filetxt>)
{
print $line;
)
close filetxt;

写文件:

在 open 一行中将 < 更改为 > 或 >> ,即可向文件中写入内容。如:

代码如下:

#!perl
open TXT,">a.txt";
print TXT "梦里不知身是客,\n";     #  如果文件a.txt存在,则其内容会被取代
print TXT "一晌贪欢。\n";                #  该行内容会附加到第二行
close TXT;
[code]

或者

#!perl
open TXT,">>a.txt";
print TXT "独自莫凭栏,无限江山,别时容易见时难。\n";     #  如果文件a.txt已存在,该行内容会被附加到已存在文件的后面
close TXT;

<,从文件中读取内容,但是不能输出到文件里任何内容。如果什么都不加的清况下读文件状况会同加上“<”的效果一样。
     >,将内容输出到文件中,并将原有文件中的内容清空。
     >>,将内容追加到文件中,不会清空原有文件中的内容。

文件的重命名和删除:

rename:将文件重命名

代码如下:

#!perl
rename "a.txt","b.txt";       # 或者 rename "a.txt","a.bat";

unlink:等同于rm,删除系统中的某些文件


代码如下:

#!perl
my @files=<*.txt>;          # 或者 my @files=glob "*.txt";
unlink @files;

或者


代码如下:

#!perl
unlink glob "*.txt";

或者


代码如下:

#!perl
unlink <*.txt>;

多个文本文件的合并:

在Perl中,可以按照如下方式合并多个文本文件:


代码如下:

#!perl
open  a,">a.txt";
print a "四十年来家国,三千里地山河。";
open  b,">b.txt";
print b "凤阁龙楼连霄汉,玉树琼枝作烟萝。";
open  c,">c.txt";
print c "几曾识干戈?";              # 分别建立文本文件 a.txt、b.txt和c.txt,并执行写入操作
close a;
close b;
close c;                                       # 关闭对应的文件句柄(filehandle)
open a,">>a.txt";
open b,  "b.txt";
open c,  "c.txt";                           # 重新建立文件关联,其中 a.txt 执行附加写入操作,其它两个文件执行读文件操作
print a "\n".<b>."\n";                   # 利用 . 进行字符串的连接,此操作符必须
print a      <c>."\n";                     # <filehandle>表示读取文件句柄所链接的文本文件的内容
close a;
close b;
close c;
[code]
或者
[code]
#!perl
open  a,">a.txt";
print a "四十年来家国,三千里地山河。\n";
open  b,">b.txt";
print b "凤阁龙楼连霄汉,玉树琼枝作烟萝。\n";       # 生成文件并写入内容时,即执行换行操作,让光标留在下一行
open  c,">c.txt";
print c "几曾识干戈?\n";                               #  分别建立文本文件 a.txt、b.txt和c.txt,并执行写入操作
close a;
close b;
close c;                                                          #  关闭对应的文件句柄(filehandle)
open a,">>a.txt";
open b,  "b.txt";
open c,  "c.txt";                                              #  重新建立文件关联,其中 a.txt 执行附加写入操作,其它两个文件执行读文件操作
print a <b>;                                                    #  利用 . 进行字符串的连接,此操作符必须
print a <c>;                                                    #  <filehandle>表示读取文件句柄所链接的文本文件的内容
close a;
close b;
close c;

如果想要在合并文本文件后删除文本文件 b.txt 和 c.txt ,可以在后面加上如下代码:

unlink <b.txt>;
unlink <c.txt>;

或者

unlink "b.txt";
unlink "c.txt";

或者

unlink <b.txt>,<c.txt>;

或者

unlink "b.txt","c.txt";

(0)

相关推荐

  • 重命名批处理python脚本

    将Copy of ********.bmp或者Copy of Copy of ********.bmp 此类文件统一命名为********0.bmp 或者********00.bmp等格式,后面的0的个数代表********.bmp出现的次数+1.写了个下面的小脚本: 复制代码 代码如下: import os """ 这个程序是用来将文件名改名,因为在文件夹里面有很多Copy of 重文件名,因此去掉windows 重命名风格而换用新的累加命名机制 作者:chenxofHit

  • Perl 文本文件的读写操作、文件的重命名和删除、多个文本文件的合并实现代码

    读文件: 复制代码 代码如下: #!perlopen filetxt,"/path/a.txt";   #  filetxt为文件句柄,用于和文件a.txt建立链接.文件句柄可任意取名,但不要和Perl自带的几个文件句柄重名.print <filetxt>;                 #  此处print函数用于显示文件a.txt的内容.<>为取行操作符,<文件句柄>用于读取所链接文件的内容.close filetxt;            

  • C#使用StreamReader和StreamWriter类读写操作文件

    StreamReader 类 (System.IO) | Microsoft 官方文档 StreamWriter 类 (System.IO) | Microsoft 官方文档 一.文本读写类: TextReader/TextWriter:文本读写,抽象类 1.TextReader文本读,其派生类: StreamReader:以一种特定的编码从字节流中读取字符. StringReader:从字符串读取. 2.TextWriter文本写,其派生类: StreamWriter:以一种特定的编码向流中写

  • java文件的重命名与移动操作实例代码

    文件的重命名与移动操作 有时候为了对文件进行统一访问与管理,需要把文件进行重命名,并移动到新的文件夹,如何实现呢? 一枚简单的java小程序即可实现: part_1:需求:我需要把<(E:\BaiduYun\传智播客_张孝祥_Java多线程与并发库高级应用视频教程下载)>文件夹下的所有子文件夹下的视频文件重命名,并移动到新的位置<(E:\BaiduYun\张孝祥_Java多线程与并发库)>; part_2:目录结构如下: E:\BaiduYun E:\BaiduYun\传智播客_张

  • Java实现文件批量重命名具体实例

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应的文件进行重命名.此外,还可以在重命名模板中添加特殊符号,程序会将这些特殊符号替换成重命名后的文件编号. 思路分析: 1.先看视图层,需要一些JLabel控件分别显示指示用户的信息,三个JTextField控件分别显示所选路径.输入文件名模板即输入扩展名,两个JButton控件分别用来浏览文件夹和开

  • Java文件批量重命名批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一个一个找出来太麻烦,所以做了第二个功能. 最近刚刚学了Java文件和流的知识,所以正好练练手,这也是自己的第一个exe程序,分享一下哈. (导出jar文件,以及用工具exe4j生成exe文件,这部分省略了哈) 用到的知识: 用到Java中文件,流的知识,以及简单的GUI知识. 功能: 功能一:去除文

  • C#实现的文件批量重命名功能示例

    本文实例讲述了C#实现的文件批量重命名功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; //C#批量重命名文件代码的实现 //添加文件操作空间引用 using System.IO;

  • Java 实现文件批量重命名亲测可用(精简版)

    之前在网上下载了很多视频,解压缩后,发现里面每个文件前面都有一长串的网址,导致我根本看不清每个视频的名字到底叫什么? 网上搜了一些批量重命名的方法,可都不是我想要的,既然这样,干脆自己动手用Java写一个吧.测了一下应该没问题,现在分享出来. 先上代码: import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** * 重命名规则类 * @author ja

  • Python3 实现文件批量重命名示例代码

    在Python中os模块里,os.renames() 方法用于递归重命名目录或文件.类似rename(). rename()方法语法格式如下: os.rename(old,new) old是需要修改的目录/文件名,new是修改后的目录/文件名,通过这个方法我们可以很轻松的完成批量在文件/目录增加固定前缀或者批量删除文件/目录固定前缀 . 以下代码Windows下和Linux都可以使用. 示例如下: 增加前缀'[Linuxidc.]': import os path='/home/linuxidc

  • python实现图片文件批量重命名

    本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下 代码: # -*- coding:utf-8 -*- import os class ImageRename(): def __init__(self): self.path = 'D:/xpu/paper/plate_data' def rename(self): filelist = os.listdir(self.path) total_num = len(filelist) i = 0 for ite

  • python3图片文件批量重命名处理

    本文实例为大家分享了python3图片文件批量重命名的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # coding=utf-8 # 批量重命名图片名字从-2-01改成-1-01 import os import time class ImageRename(): def __init__(self): self.path = './' def rename(self): filelist = os.listdir(self.path) total_num =

随机推荐