Python中文
首页
教程
问答
标签
搜索
登录
注册
如何从文本文件中捕获未注释的代码行?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个文本文件是这样的:</p> <pre><code>#<[_MOUNTING] Recessed #<[_FAMILY] RT8 #<[_PRODUCTID] cecf8545-0ff3-4d4a-bafd-dbb156bab282 #<[_BALLAST_TYPE] ELECTRONIC #<[_FIXTURE_TYPE] 2X4 Volumetric #<[_TERCAT] Recessed, Linear #<[_TER] 72 # 54.8 watt luminaire, lamp*ballast factor = 1 void brightdata 2RT8S_2_32_LP735_dist 23 flatcorr C:/rm/ies/2RT8S_2_32_LP735.dat source.cal src_phi4 src_theta -i 1 -t 3.2 0.9 2.9 -i 0 -t 2.44 0.0 0.0 -i 0 -t -0.0 1.83 0.0 0 1 1.54935 # c:\daysim\bin\xform -n a0.1 -t 3.2 0.9 2.9 -i 0 -t 2.44 0.0 0.0 -i 1 -t -0.0 1.83 0.0 # c:\daysim\bin\ies2rad -dm -m 0.95 -t white -o C:/rm/ies/2RT8S_2_32_LP735 # Dimensions in meters #<[_PRODUCTID] cecf8545-0ff3-4d4a-bafd-dbb156bab282 #<[_BALLAST_TYPE] ELECTRONIC #<[_FIXTURE_TYPE] 2X4 Volumetric #<[_TERCAT] Recessed, Linear #<[_TER] 72 # 54.8 watt luminaire, lamp*ballast factor = 1 void brightdata 2RT8S_2_32_LP735_dist 23 flatcorr C:/rm/ies/2RT8S_2_32_LP735.dat source.cal src_phi4 src_theta -i 1 -t 3.2 0.9 2.9 -i 0 -t 2.44 0.0 0.0 -i 1 -t -0.0 1.83 0.0 0 1 1.54935 2RT8S_2_32_LP735_dist light 2RT8S_2_32_LP735_light 0 0 3 1 1 1 # c:\daysim\bin\xform -n a0.2 -t 3.2 0.9 2.9 -i 0 -t 2.44 0.0 0.0 -i 2 -t -0.0 1.83 0.0 # c:\daysim\bin\ies2rad -dm -m 0.95 -t white -o C:/rm/ies/2RT8S_2_32_LP735 # Dimensions in meters #<IESNA:LM-63-2002 #<[TEST] LTL18481 #<[TESTDATE] 1/28/2010 </code></pre> <p>我想捕获未注释的代码行,并将它们写入单独的文件中。如果没有一个更好的词,那么什么才是最“python”的方法呢?我已经成功了,但是我觉得我的方式不是很优雅。我的代码在下面。你知道吗</p> <pre><code>from __future__ import print_function lumdict={} counter = 1 b =False with open(radFile) as rad: a=[] #Create a temp list to capture noncommented data. for lines in rad: if not lines.startswith("#"): a.append(lines) #Add non commented data to templist else: if len(a)>0: lumdict[counter]=a #Capture non commented data into a dictionary. b=a[:] #This is the list meant to be used for the last bit of non commented data. a=[] counter +=1 else: lumdict[counter]=b for zones,radvalues in lumdict.items(): #Write the dictionary to individual files. with open(r'd:\zones\{}.rad'.format(zones),'w') as zonefile: for lines in radvalues: print(lines,file=zonefile,end="") </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我知道你想要一个python实现。但也可以选择使用shell命令:</p> <pre><code>grep -v '^#' foo.txt > bar.txt </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
7 回答
文本小部件:在没有输入时更新并在循环后保持空闲
4 回答
文本小部件tkin
1 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
4 回答
文本小部件tkinter复制图像选项
10 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
2 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
1 回答
文本小部件不显示lis中的内容
5 回答
文本小部件不显示Unicode字符
6 回答
文本小部件中写入的行间距
10 回答
文本小部件中的文本作为变量
3 回答
文本小部件中的滚动条仅显示在底部
8 回答
文本小部件中的选项卡键空间计数
5 回答
文本小部件作为Lis
10 回答
文本小部件在主框架中扩展列宽
7 回答
文本小部件未使用删除功能清除
7 回答
文本小部件滚动动画(Tkinter、Python)
2 回答
文本居中。格式正确吗?
7 回答
文本差分算法
10 回答
文本已知时音频文件中的单词索引
7 回答