Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 转换列表中的path变量时,它会打印额外的符号\\_Python_Python 3.x_Pythonpath - Fatal编程技术网

Python 转换列表中的path变量时,它会打印额外的符号\\

Python 转换列表中的path变量时,它会打印额外的符号\\,python,python-3.x,pythonpath,Python,Python 3.x,Pythonpath,首先,我在代码中创建了变量rootdir: rootdir = r'\\001\Server\Folder1\Folder2\Folder3\Folder4' # shared drive print(rootdir) 输出: \\001\Server\Folder1\Folder2\Folder3\Folder4 # looks good ['\\\\001\\Server\\Folder1\\Folder2\\Folder3\\Folder4\\MyFile.xlsx'] # has

首先,我在代码中创建了变量rootdir:

rootdir = r'\\001\Server\Folder1\Folder2\Folder3\Folder4' # shared drive
print(rootdir)
输出:

\\001\Server\Folder1\Folder2\Folder3\Folder4  # looks good
['\\\\001\\Server\\Folder1\\Folder2\\Folder3\\Folder4\\MyFile.xlsx'] # has extra \\
然后我将创建一个路径列表,以便可以从该位置附加文件

files = [rootdir +  '\\' + 'MyFile.xlsx']
print(files)
输出:

\\001\Server\Folder1\Folder2\Folder3\Folder4  # looks good
['\\\\001\\Server\\Folder1\\Folder2\\Folder3\\Folder4\\MyFile.xlsx'] # has extra \\
我需要在函数中使用路径列表:

# function sends email
def send_mail(send_from,rcpt,subject,text ,files):
    assert isinstance(send_to, list)
    assert isinstance(cc, list)
    assert isinstance(files, list) # files need to be a list
    msg = MIMEMultipart()
现在路径有了额外的
\\

为什么会发生这种情况?我如何摆脱这些
\\
,以获得如下路径:

\\001\Server\Folder1\Folder2\Folder3\Folder4\MyFile.xlsx

这与打印列表的计算方式有关。列表的实际内容如您所愿

In [9]: print(files)
['\\\\001\\Server\\Folder1\\Folder2\\Folder3\\Folder4\\MyFile.xlsx']

In [10]: for file in files:
    ...:     print(file)
    ...:
\\001\Server\Folder1\Folder2\Folder3\Folder4\MyFile.xlsx

这与打印列表的计算方式有关。列表的实际内容如您所愿

In [9]: print(files)
['\\\\001\\Server\\Folder1\\Folder2\\Folder3\\Folder4\\MyFile.xlsx']

In [10]: for file in files:
    ...:     print(file)
    ...:
\\001\Server\Folder1\Folder2\Folder3\Folder4\MyFile.xlsx

变量文件需要转换为列表。否则,我的send_mail函数中会出现断言错误。但将其转换为列表会给我错误的路径地址。@Serdia不,不会,这只是列表的表示方式。那些额外的反斜杠实际上并不在你的字符串中。你不能打印出来检查。就像列表中没有实际的括号([])一样……哦。知道了。谢谢你们!变量文件需要转换为列表。否则,我的send_mail函数中会出现断言错误。但将其转换为列表会给我错误的路径地址。@Serdia不,不会,这只是列表的表示方式。那些额外的反斜杠实际上并不在你的字符串中。你不能打印出来检查。就像列表中没有实际的括号([])一样……哦。知道了。谢谢你们!