if ( @ARGV != 2 ) { print " \t Usage: perl $0 <infile> \n " ; die " \t Use with correct infile" ; ##读入文件$ARGV[0]存入哈希 #open IN, "<$ARGV[0]"; #open IN, "<","$ARGV[0]"; open IN, " $ARGV [0]" or die ; #三种方式均可以打开句柄 my %para ; #定义一个哈希 while ( < IN > ) { chomp ; #chomp去掉末尾换行符 if ( /^ #/){next;};#跳过以#开头的行 if ( /^$/ ) { next ; } ; #跳过空行 my ( $k , $v ) = split ( / \ = /, $_ ) ; #使用"="分割每行,每读取完一行后perl默认存储在$_里 $para { $k } = $v ; #存入hash close IN ; #关闭句柄 my @key = keys %para ; #keys函数取出哈希所有的键 my @value = values %para ; #values函数取出哈希所有的值 ##输出内容到$ARGV[1] foreach my $key ( @key ) { open OUT, ">>" , " $ARGV [1]" or die ; #打开输出文件句柄,">>"追加输出 print OUT " $key \t $para { $key } \n " ; #输出值 close OUT ; #关闭句柄

perl open.pl test.para open1

输入文件test.para为:

first_day=Monday
second_day=Tuesday
美国=美利坚

输出文件open1为:

美国 美利坚
first_day Monday
second_day Tuesday
                    本文介绍perl如何读取文件,存入哈希,调用哈希,存入文件:#! /usr/bin/perluse strict;use warnings; if(@ARGV!=2){        print "\tUsage: perl $0 &lt;infile&gt;\n";        die "\tUse with correct infile";}##读入文件$ARGV[0]存入哈希 #open IN, "&lt;$ARGV[0]";#open IN, "&lt;","$ARGV[0
1)通俗理解-->'文件句柄'用来'对应'要操作的'文件系统中的文件' -->'不太严谨'
   ①  '首先'为要打开的文件'绑定文件句柄'(称为打开文件句柄)  -->'打开'
   ②  '然后'在后续的操作中都通过文件句柄来'操作'对应的文件  -->'操作'
   ③  '最后'关闭文件句柄 -->'关闭'
++++++++++++'更通俗的理解'++++++++++++
可将'文件句柄'看作'Linux中文件描述符'的概念
备注:..
				
1. 数组和printf 一般不会把数组当成参数给printf使用,因为数组可以包含任意数目的元素,而格式化字符串只用到固定数目的元素,但我们可以把格式字符串存到变量中,以方便使用和调试 my @items = qw( wilma dino pebbles ); my $format = "The items are:\n" . ("%10s\n" x @items); ## print "the format is >>$format<<\n"; # 用于调试 printf $fo
# 读取文件,指定分隔符为一个或多个空格 df = pd.read_csv('/home/shenwk/perl_practice/test3_file/form_test', sep='\s+', header=None) # 对数据进行格式化处理 df[1] = df[1].apply(lambda x: '{:.2f}'.format(x)) # 保留2位小数 df[2] = df[2].apply(lambda x: '{:<10}'.format(x)) # 左对齐,最多10个字符 df[3] = df[3].apply(lambda x: '{:.2e}'.format(x)) # 科学记数法 df[4] = df[4].apply(lambda x: hex(x)) # 十六进制格式 # 将格式化后的数据写入新的文件 df.to_csv('/home/shenwk/perl_practice/test3_file/formatted_file', sep=' ', header=None, index=False) 在上述示例中,首先使用pandas库的read_csv函数读取文件,指定分隔符为一个或多个空格,同时不读取文件的第一行作为列名。接着,使用apply函数对每一列进行格式化处理,最后使用to_csv函数将格式化后的数据写入新的文件,指定分隔符为一个空格,同时不写入列名和行号。 Unbelievable_u: FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'D:\\code\\Bringing-Old-Photos-Back-to-Life-master\\output_images\\stage_1_restore_output\\resto red_image' 请问这个问题怎么解决 群体遗传学-选择清除分析基本概念及参数 PanzerVII: 这是我见过的写的最直观详细的文章,感谢作者提供的信息