在python中有#字符时跳过一行?
作为一名新的python程序员,我需要一些关于我所面临问题的帮助。在C++中,我做了一个.txt文件,其中有一些行是从一个字符开始的,这意味着一个注释,当我在我的python脚本中读取文件时,我想跳过这些行。我该怎么做呢?如果这只是一个开始的角色,那么类似的东西就行了。如果需要它忽略代码后的注释,则需要将其修改为在python中有#字符时跳过一行?,python,Python,作为一名新的python程序员,我需要一些关于我所面临问题的帮助。在C++中,我做了一个.txt文件,其中有一些行是从一个字符开始的,这意味着一个注释,当我在我的python脚本中读取文件时,我想跳过这些行。我该怎么做呢?如果这只是一个开始的角色,那么类似的东西就行了。如果需要它忽略代码后的注释,则需要将其修改为If'#'in line:,并相应地进行处理 with open('somefile.txt', 'r') as f: for line in f: # Use
If'#'in line:
,并相应地进行处理
with open('somefile.txt', 'r') as f:
for line in f:
# Use continue so your code doesn't become a nested mess.
# if this check passes, we can assume line is not a comment.
if line[0] == '#':
continue
# Do stuff with line after checking for the comment.
我想这应该对你有帮助
lines = []
selected_lines = []
filepath = "/usr//home/Desktop/myfile.txt"
with open(filepath, "r") as f:
lines.append(f.readlines())
for line in lines:
if line[0:1] == "#":
continue
else:
selected_lines.append(line)
我将读取整个文件并将所有行保存到列表中
然后我将遍历这个列表,查找每行中的第一个字符
如果第一个字符等于“#”,则转到下一行
否则,请将此行附加到名为selected_lines的新列表中
我的代码不是非常有效,一行或者其他。。。但我认为这可能对你有帮助
lines = []
selected_lines = []
filepath = "/usr//home/Desktop/myfile.txt"
with open(filepath, "r") as f:
lines.append(f.readlines())
for line in lines:
if line[0:1] == "#":
continue
else:
selected_lines.append(line)
看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、回溯等)。你提供的细节越多,你可能得到的答案就越多。检查和。此任务的哪一部分让您感到困惑?检测行是否以
#
字符开头?一旦你决定跳过它,就跳过它?还有什么吗?你是想明确地“不读”这行的其余部分,还是想放弃/忽略它?如果不是行。startswith(“#”):
处理不是以#开头的行,你最好显示你的努力,例如你的代码如果行[:1]!=“#”,则通过迭代(在打开的行中('myfile.txt'),这会更容易些)
。你的代码减少到一行,用方括号替换外部参数,以获得列表我还没有那么好的一行代码,呵呵。。。。但是谢谢你的提示!“用方括号替换外部括号”是什么意思?用方括号替换外部括号是:[line for line in open('myfile.txt'),如果line[:1]!='#']
。这叫做列表理解。我告诉你的第一件事叫做生成器理解。我想使用line.startswith('#')
会更像Python谢谢你的回复。我只是把if和我解决了。