ここに私のコードがあります...インデントエラーが発生していますが、なぜ発生するのか分かりません。
->
# loop
while d <= end_date:
# print d.strftime("%Y%m%d")
fecha = d.strftime("%Y%m%d")
# set url
url = 'http://www.wpemergencia.omie.es//datosPub/marginalpdbc/marginalpdbc_' + fecha + '.1'
# Descargamos fichero
response = urllib2.urlopen(url)
# Abrimos fichero
output = open(fname,'wb')
# Escribimos fichero
output.write(response.read())
# Cerramos y guardamos fichero
output.close()
# fecha++
d += delta
でプログラムを実行する
python -t script.py
タブとスペースが混在している場合、警告が表示されます。
* nixシステムでは、実行することでタブの場所を確認できます
cat -A script.py
コマンドでタブを自動的に4つのスペースに変換できます
expand -t 4 script.py > fixed_script.py
PS。プログラミング時には、ワードプロセッサではなく、プログラミングエディタ(emacs、vimなど)を使用してください。プログラミングエディターではこの問題は発生しません。
PPS。 emacsユーザーの場合、 M-x whitespace-mode
は、emacsバッファー内からcat -A
と同じ情報を表示します!
すべてのタブを見つけて、メモ帳++で4つのスペースに置き換えます。
タブとスペースが混在しているかどうかを確認します。これは、インデントエラーの頻繁な原因です。
識別のためにタブとスペースを混在させることはできません。ベストプラクティスは、すべてのタブをスペースに変換することです。
これを修正する方法は?各行の前にあるすべてのスペース/タブを削除し、タブORスペースに均一に変換しますが、混在させないでください。最良の解決策:任意のタブを自動的に変換するオプションをエディターで有効にしますスペースに。
また、実際の問題はこのブロックの前の行にある可能性があり、次の識別と一致しない先行する無効なインデントのためにpythonはここでエラーをスローします!
スクリプトをコピーして、「」「コード全体「」」の下に配置するだけです...
この行を変数で指定します。
a = """ your entire code """
print a.replace(' ',' ') # first 4 spaces tab second four space from space bar
print a.replace('here please press tab button it will insert some space"," here simply press space bar four times")
# here we replacing tab space by four char space as per pep 8 style guide..
ctrl + bを使用してこのコードを崇高に実行すると、インデントされたコードがコンソールに出力されます。それでおしまい