[英]Unexpected indentation errors
一般而言,對於python / programming來說,這是相當新的東西,一直在處理腳本,但是for line in csv.reader( open(filename), delimiter="\\t"):
一行for line in csv.reader( open(filename), delimiter="\\t"):
出現縮進錯誤for line in csv.reader( open(filename), delimiter="\\t"):
正在嘗試一些嘗試,但是可以使用有點幫助整理出來,有什么想法嗎?
您能解釋一下您的任何回答,對學習過程有幫助嗎?謝謝!
#!/usr/bin/python
import csv
import pprint
pp = pprint.PrettyPrinter(indent=4)
import sys
import getopt
import re
changes = {}
import argparse
parser = argparse.ArgumentParser()
parser.add_argument ("infile", metavar="CSV", nargs="+", type=str, help="data file")
args = parser.parse_args()
sample_names = []
SIMILARITY_CUTOFF = 95
#
# Function that investigates the similarity between two samples.
#
#
def similar_samples( sample_name1, sample_name2):
combined_changes = dict()
for change, fraction in changes[ sample_name1 ]:
if ( change not in combined_changes):
combined_changes[change] = []
combined_changes[change].append(float(fraction))
for change, fraction in changes[ sample_name2 ]:
if ( change not in combined_changes):
combined_changes[change] = []
combined_changes[change].append(float(fraction))
passed_changes = 0
failed_changes = 0
for change in combined_changes.keys():
if ( len(combined_changes[ change ]) == 1):
failed_changes +=1
continue
sum = 0
count = 0
for a in combined_changes[ change ]:
sum += a
count += 1
mean = sum/ count
for a in combined_changes[ change ]:
if ( mean > a + 2 or mean < a - 2):
failed_changes += 1
else:
passed_changes += 1
# print "passed changes: %d, failed changes: %d" % ( passed_changes, failed_changes)
if ( passed_changes * 100 / (passed_changes + failed_changes) > SIMILARITY_CUTOFF):
print " vs ".join([sample_name1, sample_name2]) + " : Similar samples"
return 1
else:
print " vs ".join([sample_name1, sample_name2]) + " : Different samples"
return 0
# print "mean %.2f \n" % ( sum/ count)
for filename in args.infile:
sample_name = filename
#sample_name = re.search("^(.*)\_", filename).group(1)
changes[ sample_name ] = []
sample_names.append( sample_name )
for line in csv.reader( open(filename), delimiter="\t"):
for item in line[2:]:
if not item.strip():
continue
item = item.split(":")
item[1] = item[1].rstrip("%")
changes[ sample_name].append([line[1]+item[0],item[1]])
for i in range(0, len(sample_names)):
for j in range(i+1, len(sample_names)):
similar = similar_samples( sample_names[ i ], sample_names[ j ])
exit()
縮進錯誤。
嘗試縮進
sample_names.append( sample_name )
線
您引用的行之前的行應再縮進一個行
sample_names.append(sample_name)
這行我的意思是:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.