首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TCL:打开一个文件并返回一个非空行列表,其中去掉了注释和空行

TCL是一种脚本语言,全称为Tool Command Language。它是一种解释型语言,常用于快速开发应用程序和自动化任务。下面是关于TCL打开一个文件并返回非空行列表的完善答案:

TCL提供了多种方法来打开文件并处理其中的内容。以下是一个示例代码,用于打开一个文件并返回一个非空行列表,同时去掉了注释和空行:

代码语言:txt
复制
# 打开文件
set file [open "filename.txt" r]

# 定义一个空列表用于存储非空行
set nonEmptyLines {}

# 逐行读取文件内容
while {[gets $file line] != -1} {
    # 去掉行首尾的空格
    set line [string trim $line]

    # 检查是否为注释或空行
    if {![string equal $line ""] && ![string match "#*" $line]} {
        # 将非空行添加到列表中
        lappend nonEmptyLines $line
    }
}

# 关闭文件
close $file

# 输出非空行列表
puts $nonEmptyLines

上述代码首先使用open命令打开指定的文件,其中"filename.txt"为文件路径。然后,通过gets命令逐行读取文件内容,并使用string trim命令去除行首尾的空格。接着,使用string match命令检查行是否为注释或空行,其中"#*"表示以一个或多个#开头的字符串。如果行不是注释或空行,则使用lappend命令将非空行添加到nonEmptyLines列表中。最后,使用close命令关闭文件,并使用puts命令输出非空行列表。

这个问题中没有明确要求推荐腾讯云相关产品,因此不需要提供相关链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python入门之用Python统计代码行

作为一个目标十万行的coder,要想想办法! 题目:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行注释,但是要分别列出来。...,注释空行  2: 遍历os.walk获取到的file 对象,然后将文件的后缀名利用splitext函数分割然后使用列表索引 [1] 取得文件后缀名,判断是否是以“.py”结尾。...4:对于上一个步骤获取到的以“.py”结尾的文件 利用with 方式打开(使用with可省去关闭文件的代码),对于打开文件使用While True 循环的使用readline()读取文件的每一行赋值给...(此处只考虑了比较规范的注释)           d:如果读到的行做过strip()之后空且不是注释,则是一个代码行, 对code_lines做加1操作。         ...e:如果上述条件都不满足,则判断为一个空行对space_lines 做加1操作。  6:返回统计到的代码行,注释空行。 7:测试代码下图是运行的一个实例 ?

1.1K80

Python的代码风格

专业程序员通常会在同一个屏幕上打开多个文件,使用标准行长可以让他们在屏幕上并排打开两三个文件时能同时看到各个文件的完整行。...如果你有5行创建列表的代码,还有3行处理该列表的代码,那么用一个空行将这两部分隔开是合适的。然而,你不应使用三四个空行将它们隔开。空行不会影响代码的运行,但会影响代码的可读性。...每个函数都应包含简要地阐述其功能的注释,该注释应紧跟在函数定义后面,采用文档字符串格式。...实例名模块名都采用小写格式,并在单词之间加上下划线。对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的功能,遵循编写函数的文档字符串时采用的格式约定。...每个模块也都应包含一个文档字符串,对其中的类可用于做什么进行描述。可使用空行来组织代码,但不要滥用。在类中,可使用一个空行来分隔方法;而在模块中,可使用两个空行来分隔类。

1.4K10
  • HTML教学笔记「基础篇」

    -- This is a comment --> 注释 开始括号之后(左边的括号)需要紧跟一个叹号,结束括号之前(右边的括号)不需要。 合理地使用注释可以对未来的代码编辑工作产生帮助。...如果您想找到其中的奥秘,只需要单击右键,然后选择“查看源文件”(IE)或“查看页面源代码”(Firefox),其他浏览器的做法也是类似的。这么做会打开一个包含页面 HTML 代码的窗口。...( 是块级元素) 使用空的段落标记 插入一个空行是个坏习惯。用 标签代替它!(但是不要用 标签创建列表。...不要着急,您将在稍后的篇幅学习到 HTML 列表。)...当显示页面时,浏览器会移除源代码中多余的空格空行。所有连续的空格或空行都会被算作一个空格。需要注意的是,HTML 代码中的所有连续的空行(换行)也被显示为一个空格。

    1.4K10

    快速学习-Python基本语法

    3.2 标识符 第一个字符必须是字母表中的字母或下划线_ 标识符中的其他部分由字母、数字下划线组成 标识符对大小写敏感 在python3中,ASCII标识符 (如中文字符) 也是允许的 3.3 注释...单行注释:井号 # 多行注释:三个单引号’’’,或者三个双引号""" 3.4 关键子保留字 import keyword print(len(keyword.kwlist)) #33 print...(if语句中最好不要嵌套if语句,建议把嵌套的if语句写在另一个函数中) pass:pass的意思就是什么都不做 yield:用起来return很像,但它返回的是一个生成器 break...其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。 word = 'word' sentence = "这是一个句子。"...类函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。

    81210

    Python快速入门教程1:Python 基础教程

    函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。...其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。     .../if.py     a:正数     b+c不大于a     与:如果a为False,返回False,否则它返回b的计算值     10     或:如果a0,返回a值,否则它返回b的计算值...b:打开文件为二进制文件,而非纯文字文件     write(string)方法可将任何字符串写入一个打开文件。.../usr/bin/python # -*- coding: UTF-8 -*- # with语句打开文件赋值到变量f,文件在语句结束后会自动关闭 with open("test.txt

    42020

    关于“Python”的核心知识点整理大全8

    在程序中混合使用制表符空格可能导致极难解决的问题。如果你混合使用了制表符空 格,可将文件中所有的制表符转换为空格,大多数编辑器都提供了这样的功能。...专业程序员通常会在同一个屏幕上打开多个文件,使用标 准行长可以让他们在屏幕上并排打开两三个文件时能同时看到各个文件的完整行。...4.6.4 空行 要将程序的不同部分分开,可使用空行。你应该使用空行来组织程序文件,但也不能滥用; 只要按本书的示例展示的那样做,就能掌握其中的平衡。...例如,如果你有5行创建列表的代码, 还有3行处理该列表的代码,那么用一个空行将这两部分隔开是合适的。然而,你不应使用三四 个空行将它们隔开。 空行不会影响代码的运行,但会影响代码的可读性。...假设你有一个汽车 列表想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其 名称,但对于汽车名'bmw',应以全大写的方式打印。

    11010

    EclipsePHP studio使用集锦

    一,资源操作: Ctrl+Shift+R:打开打开资源”对话框,然后再输入框中输入过滤字符查找打开文件 Ctrl+Shift+E:显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作...) Ctrl+E:快速显示当前Editer的下拉列表,然后可通过输入过滤字符或上下键选择切换文件 Ctrl+M:最大化当前的Edit或View(再按则反之) Ctrl+W:关闭当前Editer Ctrl...+Shift+F4:关闭所有打开的Editer Alt+Enter:显示当前选择资源(工程或文件)的属性 二,文件操作: Alt+/ :自动代码完成 Ctrl+Space:代码助手,完成一些代码的自动插入...Ctrl+Z:返回到修改前的状态(编写代码时的后悔药) Ctrl+Y:撤销上面的返回(即后悔的后悔药) Ctrl+/:注释当前行,再按则取消注释 Ctrl+,:在一个文件中快速定位到存在问题的行(如错误...、警告等),可多次连续使用 Alt+↓:当前行下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑:当前行上面一行交互位置(同上) Ctrl+/(小键盘):折叠当前类中的所有注释代码,

    84140

    jQueryGantt—集变态与惊艳于一身

    问题:这个似乎不支持小时刻度,如果有这个需求,可以使用另外一个https://github.com/DHTMLX/gantt web中展示项目进度管理,甘特图少不了,开源的有这么2个,都叫jquerygantt...下载下来的文件夹,其中html文件可以直接在浏览器中打开,一切正常,可以添加删除拖动连线上下级调整。引入到项目中,通过ip访问,根本通不过。...经过3天的连续跟踪,问题在于beego框架的模板识别上,gantt editor 的js程序,需要读取html页面中的模板,当在文件夹中打开的时候,js将html中所有代码(包括注释掉的部分)都读到了,...而在ip中访问页面的时候,js是读不到html文件注释掉的部分的。...那么,把html中注释掉的地方取消注释是否可以呢?问题又来了,这个html文件中采用了"(#=obj.id#)"这样的标识。它的作用是js程序读入后,作为变量来替换掉。

    2.4K20

    Python编程规范

    在这一节不讨论前导空格相关的内容,只讨论前导空格。前导空格在 Python 代码中没有意义,但适当地加入前导空格可以增进代码的可读性。...在类、函数的定义间加空行; 2) 在 import 不同种类的模块间加空行; 3) 在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间以空行分隔; > 断行 尽管现在的宽屏显示器已经可以单屏显示超过...作为替代方案,你可以将每个子串加入列表,然后在循环结束后用 .join 连接列表。...__parent__ = parent def __message__(self, msgid): # …略 其中 __id__、__parent__ __message__...# 另一个注释 fn = callback_function # 还是行注释 没有必要做这种对齐,原因有两点:一是这种对齐会打乱编程时的注意力,大脑要同时处理两件事(编程对齐

    85630

    Matlab系列之程序控制

    fid)%判断是否为文本的最后一行 line=fgetl(fid);%读取当前文本中当前行的下一行 if isempty(line)|strncmp(line,'%',1)%判断是否是空行或者注释...(判断%号即可) continue%若是空行或者注释就退出当次循环 end count=count+1; end disp(sprintf('%d lines',count...)); 结果,显示除去空行以及注释行后的代码行数,其中magic是系统内置的一个文件,可以直接在命令窗口行输入“open magic.m”打卡该文件进行结果的比对: ?...分析:打开fft.m文件进行对比,会发现,在有空行时,就结束了文件内容的打印,关于文件的操作,会在之后的记录中出现,如果有不懂的地方,可以过段时间再来理解。...4.3 return语句 该语句就是将结束正在运行的函数,并且返回调用函数,一般是在函数的末尾正常结束函数的运行,也可以是在满足某种条件的时候强制结束函数运行返回调用函数,这个就不做程序的演示了。

    1.2K30

    说说Python编码规范

    函数或方法中, 某些地方要是你觉得合适, 就空一行. function class 顶上两个空行 class 的 method 之间一个空行 函数内逻辑无关的段落之间空一行,不要过度使用空行 不要把多个语句写在一行...在二元算术、逻辑运算符前后加空格如:a = b + c 在 list, dict, tuple, set, 参数列表的 , 后面加一个空格 在 dict 的 : 后面加一个空格 在注释符号 # 后面加一个空格...,可以通过 doc 成员访问到,注释内容在一对 “”” 符号之间 function, method 的文档字符串应当描述其功能、输入参数、返回值,如果有复杂的算法实现,也需要写清楚 优先使用英文写注释...注释块中每行以 ‘#’ 一个空格开始 (除非它是注释内的缩进文本)。 注释块内的段落以仅含单个 ‘#’ 的行分割 行内注释一个行内注释语句在同一行的注释。...行内注释应该至少用两个空格语句分开。 它们应该以一个 ‘#’ 单个空格开始。

    69230

    python字符编码-文件操作

    此时用户切换右下角的字符编码,改成其他标准 ---> 按照新标准解析内容时就会出现乱码,因为新标准中找不到内容所对应的的信息(编码没对上) """ 怎样避免乱码 """ 保存打开的编码标准一致 文本文件以什么编码标准编的就以什么编码标准解...原理也是光标移动,到末尾就读不出来了 可以代替 f.read() 优化,节省内存空间,可以解决大文件一次性读取的问题 readlines():返回的是一个列表列表中的一个个元素对应的是文件的一行行内容...其他组合模式 rb 以二进制格式与只读模式打开一个文件,光标将会放在文件的开头,一般用于文本文件如图片等。 r+ 打开一个文件用于读写。...{content_raw + comment_raw + pure_blank_raw + 1}行,其中共有注释{comment_raw}行,纯空行{pure_blank_raw + 1}行(注释内的排除在外...statistic_lines(file_path) # 您的文件总共有120行,其中共有注释18行,纯空行18行(注释内的排除在外),内容84 行。

    93030

    - Python初学者需要牢记的几种编码规范

    然而一个合理的编程规范在初学者学习编写代码、熟记编码规则对日后的编写规范是影响巨大的!而已作为当下最流行的编程语言之一的 Python 当然也不例外。...在第3行,没有任何代码,是一个空行。 执行该程序时,Python 会忽视注释空行,不会执行注释空行。 多行注释 以 # 开头的注释可以注释一行文本,Python 另外提供了注释多行文本的功能。...) ③、函数的参数列表中,逗号后面要有空格 ④、函数的参数列表中,默认值等于号左右两边不要添加空格 ⑤、左括号之后,右括号之前不要加添加空格 ⑥、参数列表, 索引或切片的左括号之前不能加空格 通常情况下...⭐️ 空行规则 ①、编码格式声明、模块导入、常量全局变量声明、顶级定义执行代码之间空两行 ②、类顶层函数定义之间空两行;类中的方法定义之间空一行; ③、函数内逻辑无关段落之间空一行; ④、在函数或方法内部...⭐️ 模块导入规则 导入语句应放在文件顶部,位于模块注释和文档字符串之后,模块、全局变量常量之前。

    11700

    Google C++ 编程风格指南(八):格式

    文件保护 可以无视该原则. 8.2. ASCII 字符 尽量不使用 ASCII 字符, 使用时必须使用 UTF-8 编码....如, 代码分析外部数据文件时, 可以适当硬编码数据文件中作为分隔符的 ASCII 字符串; 更常见的是 (不需要本地化的) 单元测试代码可能包含 ASCII 字符串....右大括号左大括号间总是有一个空格; 函数声明定义中的所有形参必须有命名且一致; 所有形参应尽可能对齐; 缺省缩进为 2 个空格; 换行后的参数保持 4 个空格的缩进; 如果有些参数没有用到, 在函数定义处将参数名注释起来...if (condition) foo; else { bar; } // 只要其中一个分支用了大括号,两个分支都要用上大括号。...列表初始化就会优先调用 std::initializer_list, 不过空列表初始化除外,后者原则上会调用默认构造函数。

    1.6K30

    如何为可扩展系统进行Java Socket编程

    发出一个请求,从服务器端获取一个资源,同时服务器端返回响应,关闭流。本案例所需的步骤如下: 创建端口为80的网络服务器所对应的客户端Socket。...从服务器端获取一个PrintStream,同时发送一个GET PATH HTTP/1.0请求,其中PATH就是服务器上的请求资源。比如,假设你想打开一个网站根目录,那么path就是 / 。...阻塞I/O 是一组class文件,它们可以将 Channel 开放给普通的I/O资源,比如文件Socket。...Java I/O示例第三部分:基于NIO.2的ECHO服务器 JDK 7引入的NIO.2添加了阻塞I/O库支持文件系统任务,比如 java.nio.file 包 java.nio.file.Path...倘若客户端发来的是一个空行,接收两个字节:一个回车一个换行。检测确保客户端发出一个空白行,我们以此作为客户端对话结束的信号。

    1.1K80

    100天精通Python丨基础知识篇 —— 03、Python基础知识扫盲(第一个Python程序,13个小知识点)

    文章目录 1、Python 初体验 Pycharm 第一个程序 交互式编程第一个程序 2、Python 引号 3、Python 注释 4、Python 保留字符 5、Python 行缩进...那么一群人就没有什么能阻挡 ---- 1、Python 初体验 Pycharm 第一个程序 首先,你需要创建一个 py 文件 print('我不爱你了!')...其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。...Python的函数是一种可重复使用的代码块,可以接受参数返回值。...Python的模块是一种组织代码的方式,可以将相关的函数和数据放在一个文件中。

    33660

    单元测试

    首先我们创建一个控制台项目,添加引用 system.windows.forms,为了下面的类做铺垫 第一步 首先创建控制台项目,添加类 WC.cs 本类主要是对文件文字总字数的一个帮助类,接下去的单位测试也是基于它进行...private void BaseCount(string filename) { try { // 打开文件...// 打开文件 FileStream file = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read...actual 比较 actual expected 下面以 WC 程序执行 -c 参数对 123.txt 文件进行统计的功能为例进行测试,我们将测试代码修改如下,其中 AreEqual...则测试通过; Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过; Assert.IsNotNull() 测试指定的对象是否为

    1.2K10

    Python - 测试覆盖率统计

    pip3 install coverage 安装结果 接着呢,我们先准备一个测试类,一个被测的类....testtoo.py 结果: 可以看到 生产一个文件,我们看结果,可以使用 coverage report 结果如下: 我们可以看到,覆盖率出来了, 如果想看html报告呢 coverage...html 结果: 生成了一个html文件夹,打开index.html 结果: 各字段说明: Stmts 总的有效代码行数(不包含空行注释行) Miss 未执行的代码行数(不包含空行注释行)...:语句总数 Miss:未执行到的语句数 Cover:覆盖率,计算公式 Cover=(Stmts-Miss)/Stmt 另外,命令行还有下面的 命令行中使用时常用参数: run – 运行Python程序收集执行数据...report – 报告覆盖率结果 html – 生成HTML文件,内容含覆盖率结果列表 json – 生成JSON文件,内容含覆盖率结果 xml – 生成XML报告文件,内容含覆盖率结果 erase

    37020

    一文弄懂Python代码规范

    对于较少结构限制的长文本块(例如文档字符串或注释),行长度应限制为72个字符。 限制所需的编辑器窗口宽度可以使多个文件并排打开,并在使用代码审查工具时表现良好,这些工具将两个版本呈现在相邻的列中。...在文档字符串之前或之后都没有空行。 文档字符串是一个以句点结束的短语。它规定了函数或方法的效果作为命令(“执行这个”,“返回那个”),而不是作为描述;例如,不要写“返回路径名...”。...,该缩进等于第一行之后所有空行的最小缩进。...Block Comments|块注释注释通常适用于其后的一些(或所有)代码,缩进到与该代码相同的级别。块注释的每一行都以“#”一个空格开头(除非它是注释内的缩进文本)。...类是一个上下文管理器,负责处理文件打开关闭,以及数据的处理。

    35310
    领券