Python连接错误

Python连接错误,python,concatenation,Python,Concatenation,我正在学习python,并且一直在学习一个教程,就指南所述,该教程应该可以使用,但不能使用。我看到过类似的问题,但无法理解它们是如何应用于我下面的代码的,代码在最后一行结束时失败了 import os import time source = ["'C:\Users\Administrator\myfile\myfile 1'"] target_dir = ['C:\Users\Administrator\myfile'] target = target_dir + os.sep + \

我正在学习python,并且一直在学习一个教程,就指南所述,该教程应该可以使用,但不能使用。我看到过类似的问题,但无法理解它们是如何应用于我下面的代码的,代码在最后一行结束时失败了

import os
import time

source = ["'C:\Users\Administrator\myfile\myfile 1'"]

target_dir = ['C:\Users\Administrator\myfile']

target = target_dir + os.sep + \
        time.strftime('%Y%m%d%H%M%S') + '.zip'

can only concatenate list (not "str") to list
我尝试了一些使用.append的方法,还通过将[]和添加到+'.zip'来更改代码,但都没有用,所以我希望有人能解释它失败的原因以及我如何更正它

我正在windows上使用python 2.7.9


谢谢,target_dir是一个列表,因此在您的示例中,您需要执行以下操作:

target = target_dir[0] + os.sep + \
        time.strftime('%Y%m%dT%H%M%S') + '.zip'
您看到该错误是因为您试图将列表目标和字符串、苹果和橙子一起添加。

target\u dir不应使用括号创建

target_dir = 'C:\Users\Administrator\myfile'

target = target_dir + os.sep + \
        time.strftime('%Y%m%d%H%M%S') + '.zip'
顺便说一句,请注意反斜杠,因为它们也用于表示字符串中的特殊字符。例如,c:\new\u目录将被解释为c冒号换行符W。。。而不是C冒号反斜杠N W。。。。在这种情况下,您需要使用c:\\new\u目录来转义斜杠,或者使用原始字符串,如rc:\new\u目录,或者如果您的操作系统允许,则使用常规斜杠作为路径分隔符,如c:/new\u目录,您应该使用OS.path.join,以便始终使用正确的平台特定目录分隔符

import os
import time

source = "C:\Users\Administrator\myfile\myfile 1"

target_dir = "C:\Users\Administrator\myfile"

target = os.path.join(target_dir, time.strftime('%Y%m%d%H%M%S') + '.zip')

你用的是什么教程?为什么是源和目标目录列表?我不确定教程是如何编写的,教程是用于备份脚本的,教程是由Swaroop编写的python字节,供将来参考,OP似乎特别位于@YK2:如果您按照教程进行操作,但仍然不知道此错误来自何处,请返回几步。不要只写代码的副本,试着理解代码。根据文档,如果目录名中有空格,源代码需要双引号,但have也尝试使用单引号,仍然没有goBetter is target=os.path.jointarget_dir,time.strftime“%Y%m%d%H%m%S'+'.zip'@YK2,source是否需要双引号实际上取决于您使用它的方式。例如,如果要将其传递给os.system调用,则可能需要它。但是,如果Python字符串包含空格,那么通常说它总是需要双引号是不正确的。你指的是什么文档?谢谢kevin,你的答案似乎是有效的,我也能理解你关于注意反斜杠的意思@你的电脑爆炸了吗?猴子飞出屏幕了吗?房子融化了吗?这不起作用是什么意思?@YK2你需要更具体一些。什么不起作用?@YK2不知道这是什么意思。不管怎样,谢谢你的帮助,其他帖子中的一篇解决了这个问题