Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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 2.7 uu添加到字符串会删除字符串吗?_Python_String - Fatal编程技术网

Python 2.7 uu添加到字符串会删除字符串吗?

Python 2.7 uu添加到字符串会删除字符串吗?,python,string,Python,String,这里是新手/哈比编码员 我编写了一个脚本,它可以运行.M3U文件并下载所有引用的媒体。(我的唱片店预览) 现在,我设法以这种精确的方式从下载函数中获得正确的路径,但出于某种奇怪的原因,下面的循环只返回“.mp3” 编辑 艺人、曲目、唱片集、文件类型都返回正确的字符串 如果我连接它们,它们将返回我期望的结果 只要我加上“.mp3”,它就会变成梨形 编辑 这就产生了同样的问题 写入id3标记 i=0 而i

这里是新手/哈比编码员

我编写了一个脚本,它可以运行.M3U文件并下载所有引用的媒体。(我的唱片店预览)

现在,我设法以这种精确的方式从下载函数中获得正确的路径,但出于某种奇怪的原因,下面的循环只返回“.mp3”

编辑 艺人、曲目、唱片集、文件类型都返回正确的字符串 如果我连接它们,它们将返回我期望的结果

只要我加上“.mp3”,它就会变成梨形

编辑 这就产生了同样的问题

写入id3标记
i=0
而i
os.path中的路径分开。用逗号连接

filename = artist + " - " + track + " - " + album + filetype
fullfilename = os.path.join('/Users/username/Desktop/transmisson/', filename)

你的问题可能是你没有“归还”或储存任何东西。现在,它只是在整个目录中循环。您不想存储所有的fullfilename数据或其他什么吗

编辑:您似乎并没有实际使用循环中的
文件执行某些操作。现在您只引用了
i
,但代码中没有定义
i

Edit2:根据您关于nucontainer是列表列表的评论,我认为您应该这样做:

for i, file in enumerate(os.listdir("/Users/username/Desktop/transmisson")):
    artist = str(nucontainer[i][2].replace("/", ""))
    track = str(nucontainer[i][1].replace("/",""))
    album = str(nucontainer[i][3].replace("/", ""))
    filetype = ".mp3"

    fullfilename = "/Users/username/Desktop/transmisson/" 
    + artist + " - " + track + " - " + album + filetype

您希望
os.path.join('/Users/username/Desktop/transmisson/'+artist+“-”+track+“-”+album+filetype)
准确地生成结果是什么?一个路径名为Yeah的字符串,那么它就没有做您希望它做的事情。查看Sam的answeros.path.join不应该在那里-这是一个试图找出错误的实验。如果
i
[1]
,那么你就不能访问
numcontainer[1][2]
,但是
numcontainer[[1]][2]
(请参阅附加括号)。fullfilename=os.path.join(“/Users/username/Desktop/transmisson/”,艺术家,“-”,track,“-”,album,filetype)将返回“/.mp3”,如果我首先创建变量并使用您的确切示例,它将返回“/Users/username/Desktop/transmisson/.mp3”“但是,在与路径'/Users/username/Desktop/transmisson/'连接之前,变量
filename
是否正确?是的,这是headf***k。”。所有列表条目都是StringsRect——我希望最终使用循环中的每个运行来更改id3标记。但是我还没有完成在这里创建文件路径的工作。在您的示例中-如果我打印fullfilename,结果是“.mp3”,但在for循环中,我仍然看不到任何与
文件有关的事情。现在,对于每个循环,您的代码应该为“艺术家”、曲目等提供完全相同的输出。不过,我看不出与这个问题有什么关联。我只是想知道为什么在添加“.mp3”时,将多个字符串添加到一起最终会删除该字符串。好吧,连接或“添加”到字符串并不会删除它。因此,不知何故,您的代码中出现了其他错误。我只是想帮你找出问题所在……我明白了,我无意让你听起来很粗鲁。仅供参考,如果我用ifilename = artist + " - " + track + " - " + album + filetype
fullfilename = os.path.join('/Users/username/Desktop/transmisson/', filename)
for i, file in enumerate(os.listdir("/Users/username/Desktop/transmisson")):
    artist = str(nucontainer[i][2].replace("/", ""))
    track = str(nucontainer[i][1].replace("/",""))
    album = str(nucontainer[i][3].replace("/", ""))
    filetype = ".mp3"

    fullfilename = "/Users/username/Desktop/transmisson/" 
    + artist + " - " + track + " - " + album + filetype