我正在尝试使用多个源位置和通配符作为文件名的一部分将文件从一个文件夹复制到另一个文件夹,但是由于某些原因,glob.glob
无法正常工作(每个文件夹中只有一个文件)通配符,但快照的版本正在更改)-出现错误need string or buffer, list found
。
部分python代码如下:
content=[]
tomcatFiles=[]
def addToContent(srcFile, destFile):
info={'src': srcFile, 'dest': destFile}
content.append(info)
def addToTomcatFile(srcFile, destFile):
info={'src': srcFile, 'dest': destFile}
tomcatFiles.append(info)
def main():
baseDir=sys.argv[1]
intellijProjDir=sys.argv[2]
deploy_dir=baseDir+'/TransferFiles'
working_dir=intellijProjDir
tomcatDir=deploy_dir+"/tomcat"
addToTomcatFile('/project1/target/project1*.war', '/tomcat/project1.war')
addToTomcatFile('/project2/target/project2*.war', '/tomcat/project2.war')
addToTomcatFile('/projectX/target/projectX*.war', '/tomcat/projectX.war')
for infoObj in tomcatFiles:
addToContent(infoObj['src'], infoObj['dest'])
for infoObj in content:
shutil.copy2(glob.glob(working_dir + infoObj['src']), deploy_dir + infoObj['dest'])
print('Copied ' + infoObj['dest'])
答案 0 :(得分:1)
shutil.copy2
的{{1}}参数需要一个字符串(或缓冲区),而不是一个列表。由于您确定只会有一场比赛,因此请获取src
返回的第一项,即glob.glob
。
答案 1 :(得分:0)
赞:
Sub String_Acct_Numbers()
Dim AccountNumber As String
Dim StartRow As Integer
Dim NumRows As Integer
NumRows = Range("A1", Range("A2").End(xlDown)).Rows.Count
For StartRow = 2 To NumRows
AccountNumber = Cells(StartRow, 1).Value & " " & Cells(StartRow + 1,
1).Value
Next StartRow
Range("C1") = AccountNumber
End Sub