gpt4 book ai didi

python - 如何从 Python 脚本中删除所有注释?

转载 作者:太空宇宙 更新时间:2023-11-03 21:17:01 25 4
gpt4 key购买 nike

我从桌面获取一个文件,其中包含如下 python 代码:

line 1 :#hi
line 2 :x=0
line 3 :#print x
line 4 :print "#"
line 5 :print ' # the x is" , x
line 6 :print "#"#

我想在程序中打印:

line 1 :x=0
line 2 :print "#"
line 3 :print ' # the x is" , x
line 4 :print "#"

我用 fopen 在其中运行我的程序,我得到了任何行,我想打印这些行,但没有 #...必须检查 # 是否在“”或“”中,以及是否在何时我们必须打印带有 # 的行。

我已经打开一个文件并将行分开,并在删除它时检查 # 是否在行中,但我找不到谁来检查 # 是否在“”或“”中以及如果是则打印所有的线。

def remove_comments(line,sep="#"):
for s in sep:
i = line.find(s)#find the posision of #
if i >= 0 :
line = line[:i]#the line is until the # - 1
return line.strip()

f=open("C:\Users\evogi\OneDrive\Desktop\ergasia3 pats\kodikaspy.txt","r")
for line in f :
print remove_comments(line)

结果是:

line 1 :
line 2 :x=0
line 3 :
line 4 :print "
line 5 :print '
line 6 :print "

最佳答案

函数string.find() 返回子字符串第一次出现的索引。因此,在您的情况下,您想要查找返回 0 的行(然后 # 是第一个字符,即注释)。

所以你可以做类似的事情

def remove_comments(line,sep="#"):
for s in sep:
i = line.find(s)#find the posision of #
if i == 0 :
line = None
return line.strip()

f=open("C:\Users\evogi\OneDrive\Desktop\ergasia3 pats\kodikaspy.txt","r")
for line in f :
if remove_comments(line):
print remove_comments(line)

关于python - 如何从 Python 脚本中删除所有注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54615939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com