python脚本在if语句中需要一个缩进块
我正试图编写一个从一个文件夹到另一个文件夹的基本备份脚本,我让它工作了——但目录结构没有被复制,只是文件。我也在尝试复制子文件夹,因此,例如,python脚本在if语句中需要一个缩进块,python,Python,我正试图编写一个从一个文件夹到另一个文件夹的基本备份脚本,我让它工作了——但目录结构没有被复制,只是文件。我也在尝试复制子文件夹,因此,例如,c:\temp\docs\file.txt转到d:\temp\docs\file.txt,而不仅仅是d:\temp\file.txt 我的问题存在于if/else语句的缩进中,但在我看来一切都很好。我做错了什么 import datetime, time, string, os, shutil COPY_FROM_LOCATION = 'C:\\xamp
c:\temp\docs\file.txt
转到d:\temp\docs\file.txt
,而不仅仅是d:\temp\file.txt
我的问题存在于if/else语句的缩进中,但在我看来一切都很好。我做错了什么
import datetime, time, string, os, shutil
COPY_FROM_LOCATION = 'C:\\xampp\\htdocs\\projects'
folder_date = time.strftime("%Y-%m-%d")
BACKUP_TO_LOCATION = 'D:\\BACKUP\\' + folder_date
#Create a new directory in D:\BACKUP based on today's date so the folder you're trying to copy to actually exists:
if not os.path.exists(BACKUP_TO_LOCATION):
os.makedirs(BACKUP_TO_LOCATION)
#copy function
def backup(source_folder, target_folder):
for subdir, dirs, files in os.walk(source_folder):
if subdir == source_folder :
new_target_folder = target_folder
else:
folder_name = subdir.split("C:\\xampp\\htdocs\\projects\\",1)[-1]
new_target_folder = target_folder + "\\" + folder_name
for file in files:
print "backing up: " + folder_name
shutil.copy2(os.path.join(subdir, file), new_target_folder)
backup(COPY_FROM_LOCATION,BACKUP_TO_LOCATION)
下面是我得到的错误:
File "backup.py", line 15
new_target_folder = target_folder
^
IndentationError: expected an indented block
分号前的空格有什么奇怪之处?我以前从未见过这样做,这似乎就是这个脚本被阻塞的地方 改变
if subdir == source_folder :
与
分号前的空格有什么奇怪之处?我以前从未见过这样做,这似乎就是这个脚本被阻塞的地方 改变
if subdir == source_folder :
与
您正在混合制表符和空格
使用其中一个,而不是两个。最好是空格。您混合了制表符和空格
使用其中一个,而不是两个。最好是空格。此错误通常意味着缩进中存在错误。检查您是否不混合制表符和空格
您可以使用来检测它们,或者如果它只是简单地粘贴代码,它将显示您可以增强的功能。此错误通常意味着缩进中存在错误。检查您是否不混合制表符和空格
您可以使用来检测它们,或者如果它只是简单地粘贴代码,它将显示您可以增强的功能。不,在冒号之前留一个空格也可以。这不是问题所在。您是否尝试过修复此问题,但不知何故,您的换行符和/或空格被弄乱,导致出现此缩进错误。你从什么地方复制并粘贴了这个脚本吗?不,在冒号前留一个空格就可以了。这不是问题所在。您是否尝试过修复此问题,但不知何故,您的换行符和/或空格被弄乱,导致出现此缩进错误。您是否从某个地方复制并粘贴了此脚本?是否混合了制表符和空格?您可能需要使用一个过梁。使您的代码更易于阅读并符合PEP。我看不出你的代码有什么问题,这让我觉得把制表符和空格作为缩进是有问题的。你是在混合制表符和空格吗?你可能需要使用一个过梁。使您的代码更易于阅读并符合PEP。我看不出你的代码有什么问题,这让我认为这是一个将制表符和空格作为缩进插入的问题。是的。看在上帝的份上,我正要把头发拔出来!是的。看在上帝的份上,我正要把头发拔出来!