工作中perl,tcl,python混用,导致三种语言的用法经常记混,所以在此贴中记录三种语言处理文件的用法,方便查询。
python | tcl | perl | |
打开文件 | f = open('file_name.py','w') | set f [open file_name.tcl w] 打开gz文件:https://www.it1352.com/2115622.html
| my $macro_list = "$ENV{PROJECT_SCRIPTS}/MacroList.tcl"; open MACRO_LIST, "<$macro_list" or die "can not open $macro_list : $!"; |
关闭文件 | f.close() | close $f | close MACRO_LIST; |
读取文件内容 | line = f.readline(), lines = f.radlines(), all_content = f.read() | set data [read $f] | while (<MACRO_LIST>) {} |
按行读取文件内容 | 直接迭代for line in f:(逐行获取); for line in lines; | while {[gets $f line] >= 0 } {} | while (<MACRO_LIST>) {} |
写文件 | f.write(content) | puts $f $content | open CSV, ">>$outf" or die "can not open $outf: $!"; print CSV "$content"; |
正则匹配方式 | re.match, re.search | regexp | =~ |
读取某固定行前N行内容 | duque, 利用双端队列 | 利用@line记住当前行内容 | |
执行shell命令方法 | os.system(cmd) | exec | |
定义列表,字典,集合的方式 | list: l = [] set: s = set() dict: d = {} tuple: t = () | list : set b {} array : array set c {} get_array_data : foreach {key value} [array get module] { | |
删除结尾空格符 | strip | string trim $string replace: 去除字符中间和前后空格 | chop(去除最后一个字符) |
删除换行符 | str.strip('\n') | string trim $string chars (chars that you want to remove) | chomp |