python缩进错误
python新手,写这篇文章已经有一个小时了。GoogleDocsAPI和示例非常棒。我可以连接和创建文件等。我想将所有文件备份到谷歌硬盘,因此尝试使用python缩进错误,python,google-docs,Python,Google Docs,python新手,写这篇文章已经有一个小时了。GoogleDocsAPI和示例非常棒。我可以连接和创建文件等。我想将所有文件备份到谷歌硬盘,因此尝试使用os.walk,但遇到了一个我不理解的持久缩进错误 #!/usr/bin/python import httplib2 import pprint from apiclient.discovery import build from apiclient.http import MediaFileUpload from oauth2client.
os.walk
,但遇到了一个我不理解的持久缩进错误
#!/usr/bin/python
import httplib2
import pprint
from apiclient.discovery import build
from apiclient.http import MediaFileUpload
from oauth2client.client import OAuth2WebServerFlow
from oauth2client.client import Credentials
import os
import sys
rootdir = sys.argv[1]
CLIENT_ID = 'MYCLIENT ID'
CLIENT_SECRET = 'MY SECRET ID'
OAUTH_SCOPE = 'https://www.googleapis.com/auth/drive'
# Redirect URI for installed apps
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
json_creds = open('backup_credentials.json', 'r').read()
credentials = Credentials.new_from_json(json_creds)
#
# Create an httplib2.Http object and authorize it with our credentials
http = httplib2.Http()
http = credentials.authorize(http)
drive_service = build('drive', 'v2', http=http)
#Here is where the problem starts
for root, subFolders, files in os.walk(rootdir):
for filename in files:
filepath = os.path.join(root, filename)
print (filepath)
media_body = MediaFileUpload(filepath, mimetype='text/plain', resumable=True)
body = {'title': filename,'description': 'A test document','mimeType': 'text/plain'}
file = drive_service.files().insert(body=body, media_body=media_body).execute()
pprint.pprint(file)
有问题的错误是行文件=
实际误差为
File "./quickstart.py", line 59
file = drive_service.files().insert(body=body, media_body=media_body).execute()
^
IndentationError: unindent does not match any outer indentation level
你有
body = {
'title': filename,
'description': 'A test document',
'mimeType': 'text/plain'
}
file = drive_service.files().insert(body=body, media_body=media_body).execute()
pprint.pprint(file)
当你应该:
body = {
'title': filename,
'description': 'A test document',
'mimeType': 'text/plain'
}
file = drive_service.files().insert(body=body, media_body=media_body).execute()
pprint.pprint(file)
请注意,文件=
行应该缩进到与它上面的行缩进相同的级别(正文=…
)
body = {
'title': filename,
'description': 'A test document',
'mimeType': 'text/plain'
}
file = drive_service.files().insert(body=body, media_body=media_body).execute()
pprint.pprint(file)
当你应该:
body = {
'title': filename,
'description': 'A test document',
'mimeType': 'text/plain'
}
file = drive_service.files().insert(body=body, media_body=media_body).execute()
pprint.pprint(file)
请注意,
file=
行应该缩进到与它上面的行缩进相同的级别(body=…
)。在body={
之后,缩进将被关闭,不要混合制表符和空格。如"切勿混合使用制表符和空格。Python缩进最常用的方法是仅使用空格。第二种最常用的方法是仅使用制表符。混合使用制表符和空格缩进的代码应转换为仅使用空格。当使用-t选项调用Python命令行解释器时,它会发出有关非法使用的代码的警告混合制表符和空格。当使用-tt时,这些警告将变成错误。强烈建议使用这些选项!“body={
之后缩进将关闭,请勿混合制表符和空格。表示”切勿混合使用制表符和空格。Python缩进最常用的方法是仅使用空格。第二种最常用的方法是仅使用制表符。混合使用制表符和空格缩进的代码应转换为仅使用空格。当使用-t选项调用Python命令行解释器时,它会发出有关非法使用的代码的警告混合制表符和空格。使用-tt时,这些警告将变成错误。强烈建议使用这些选项!“谢谢。实际上,试图将代码粘贴到stackoverflow中会破坏原始缩进。如果有一种简单的方法来粘贴python代码,那就太好了。我本来打算这样做的,但还是不起作用。因此,我只是将body={}的所有内容组合在一起。”在python中,如果你想做多行,比如body,你是否必须跳出它或者做一些特殊的事情,否则它会破坏你的识别?@glacierDiscomfort——像那样把它分解成多行应该没问题。在python中,任何未终止的大括号、方括号和圆括号都会自动转换在一行中。详细解释了mgilson提到的内容。非常感谢所有人提供的有用反馈!谢谢。实际上,试图将代码粘贴到stackoverflow中会破坏原始缩进。如果有一种简单的方法来粘贴python代码,那就太好了。我本来打算这样做的,但它仍然不起作用。因此,我只是合并了g body={}的所有内容在python中,如果你想做多行,比如body,你是否必须跳出它或者做一些特殊的事情,否则它会破坏你的识别?@glacierDiscomfort——像那样把它分解成多行应该没问题。在python中,任何未终止的大括号、方括号和圆括号都会自动转换在一行中。详细解释了mgilson提到的内容。非常感谢所有人提供的有用反馈!