这个代码哪里错了吗 def Read_from_file(self,path): file_name = 'log_file.txt' with open(file_name,'r') as file_obj: while True: line = file_obj.readline() if line == '': break print(line) def Get_User_log(self,path): uid = input('请输入用户id') temp_lst= [] file_name = os.path.join(path,'log_file.txt') count = 0 with open(file_name,'r') as file_obj: while True: line = file_obj.readline() if line == '': break temp_lst = line.split('\t') if temp_lst[0]==uid: print(line) count += 1 if count ==0: print('没有该用户') end
时间: 2023-12-11 09:05:45 浏览: 93
这段代码可能存在以下问题:
1. 在函数 `Read_from_file` 中,`file_name` 变量的值应该为 `path` 参数,而不是固定为 `'log_file.txt'`。
2. 在函数 `Get_User_log` 中,应该将用户输入的 `uid` 转换为字符串类型,以便与读取到的日志文件中的用户id进行比较。可以使用 `str()` 函数将其转换为字符串类型。
3. 在函数 `Get_User_log` 中,最后的 `end` 变量没有定义,可能是多余的。
下面是修改后的代码:
```
def Read_from_file(self, path):
with open(path, 'r') as file_obj:
while True:
line = file_obj.readline()
if line == '':
break
print(line)
def Get_User_log(self, path):
uid = str(input('请输入用户id:'))
temp_lst = []
count = 0
with open(path, 'r') as file_obj:
while True:
line = file_obj.readline()
if line == '':
break
temp_lst = line.split('\t')
if temp_lst[0] == uid:
print(line)
count += 1
if count == 0:
print('没有该用户')
```
希望能对你有所帮助!
阅读全文