Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python缩进错误_Python_Google Docs - Fatal编程技术网

python缩进错误

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.

python新手,写这篇文章已经有一个小时了。GoogleDocsAPI和示例非常棒。我可以连接和创建文件等。我想将所有文件备份到谷歌硬盘,因此尝试使用
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提到的内容。非常感谢所有人提供的有用反馈!