[英]Opening and reading file in python
我在打开和读取编写python的文件时遇到麻烦。 我应该从.txt文件中读取值,以查找最大值,最小值等。例如,当我在代码内创建并排列代码时,例如“ values = [1、5、77]”,它可以正常工作。 但是,当我尝试打开与.py文件位于同一映射中的.txt文件时,出现错误。 有人帮我吧!
from statistics import median
max_value = None
min_value = None
avg_value = None
med_value = None
#values = [10, 0, 50, 99, -200, 1313, 7]
#with open("varden.txt") as values:
# for line in values:
# print (line)
#values = open("varden.txt", "r")
# file = values.readlines().split()
with open('varden.txt') as f:
values = f.readlines().split()
# max_value = values[0]
for number in values:
if number>max_value:
max_value = number
# min_value = values[0]
for number in values:
if number<min_value:
min_value = number
avg_value = sum(values)/len(values)
med_value = median(values)
values.close()
print ("Maximum value is: ", max_value)
print ("Minimum value is: ", min_value)
print ("Avarage value is: ", avg_value)
print ("Median value is: ", med_value)
错误:
File "laboration1del2.py", line 21
for number in values:
^
TabError: inconsistent use of tabs and spaces in indentation
文件“ laboration1del2.py”,第21行显示数值:^ TabError:缩进中的制表符和空格使用不一致
^如果这是您的错误,则可能是因为您的循环似乎缩进得过多。 Python依靠格式(代替大括号)来解释代码和定义范围。
使用已发布的代码,循环看起来好像缩进了太多,而且您的values变量似乎也缩进了3个空格,这似乎很奇怪。 我见过制表符通常表示为4个空格或2个空格,但从来没有3个。
请尝试以下代码:
with open('varden.txt') as f:
values = f.readlines().split()
for number in values:
if number>max_value:
max_value = number
for number in values:
if number<min_value:
min_value = number
编辑:您还用open()块声明了您的值 。 结果,我认为您将无法像目前那样访问它。 当这给您带来麻烦时,您还将考虑缩进这些行。 这样它们就可以在open()块的范围内进行了
avg_value = sum(values)/len(values)
med_value = median(values)
values.close()
我在行values = f.readlines().split()
看到的一个问题是readlines()
返回一个列表,并且您将split()
应用于不可能的列表。
尝试以下一项,
values = f.readlines()[0].split('=')[1].strip() // [1, 2, 3, 4, 5, 6]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.