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