如何解决在Python中从input中删除文件中的一行
我有一个代码,用户将在其中输入数据并在列表中执行搜索,并验证data
是True
还是False
,然后将用户数据存储为variable
,如果证明数据True
,则处理更多代码。
其中一个过程(我有问题)是to comment out
中的user input data
list
我尝试了很多事情,但仍然无法正常工作
file
如下:
1.1.1.0 test
1.1.1.1 test1
1.1.1.2 test2
1.1.1.3 test3
1.1.1.4 test4
1.1.1.5 test5
1.1.1.6 test6
1.1.1.7 test7
1.1.1.8 test8
code
如下:
user_input = input('Enter name here: ')
with open('sample.txt',mode='r+') as open_file:
read_file = [line.strip() for line in open_file if not line.startswith('#')]
def verfiy_ui(user_input):
for line in read_file:
if user_input in line.split():
print(line)
return line
result_ui = verfiy_ui(user_input)
下面的代码将{#1}}用户输入的哈希值append
换为新行#
\n
示例:如果用户输入为with open('sample.txt',mode='r+') as openfile:
readfile = [line.strip() for line in openfile if not line.startswith('#')]
with open('sample.txt',mode='a+') as appenfile:
appenfile.write('#' + result_ui + '\n')
,则文件将如下所示;
test
但是,我想要达到的目标还是
1-在用户输入数据1.1.1.0 test
1.1.1.1 test1
1.1.1.2 test2
1.1.1.3 test3
1.1.1.4 test4
1.1.1.5 test5
1.1.1.6 test6
1.1.1.7 test7
1.1.1.8 test8
#1.1.1.0 test
前面放置一个哈希#
2-是文件中的or
,然后保存
我们非常感谢您的帮助。预先谢谢你!
解决方法
我终于找到了自己奋斗的答案! :)
共享代码:
询问用户输入
user_input = input('Enter name here: ')
验证user_input是否在文件中,然后将结果存储为变量
def verfiy_ui(user_input):
with open('sample.txt',mode='r+') as open_file:
read_file = [line.strip() for line in open_file if not line.startswith('#')]
for line in read_file:
if user_input in line.split():
print(line)
return line
result_ui = verfiy_ui(user_input)
stripping/removing/deleting
user_input值,然后appending
前面的#
的user_input值以注释掉文件中的行。
with open("sample.txt","r") as f:
lines = f.readlines()
with open("sample.txt","w") as f:
for line1 in lines:
if line1.strip('\n') != result_ui:
f.write(line1)
with open('sample.txt',mode='a+') as appenfile:
appenfile.write('#'+ result_ui + '\n')
当user_input = test4
然后test8
然后test
之后输出
1.1.1.1 test1
1.1.1.2 test2
1.1.1.3 test3
1.1.1.5 test5
1.1.1.6 test6
1.1.1.7 test7
#1.1.1.4 test4
#1.1.1.8 test8
#1.1.1.0 test
注意:
1.1.1.1 test1
1.1.1.2 test2
1.1.1.3 test3
1.1.1.5 test5
1.1.1.6 test6
1.1.1.7 test7
#1.1.1.4 test4
#1.1.1.8 test8
#1.1.1.0 test
此代码仍有很大的改进空间,但是对于像我这样刚入门的人来说,这是一个巨大的成就!希望对您有帮助...加油!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。