簡體   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