繁体   English   中英

在python中打开和读取文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM