Python,TypeError: не все аргументы, преобразованные во время форматирования строки, команда монтирования SMB

Я пытаюсь смонтировать smb, используя приведенный ниже скрипт, но, столкнувшись с проблемой "TypeError", может кто-нибудь помочь мне решить эту проблему Фактическая команда, которую я хочу выполнить, является mount -t cifs //111.11.111.111/SMBShare /mnt -o username=admin,password=admin,vers=3.0

код Python:

#! / usr / bin / env python

 def setup_env(self, get_xyz_share):    
     share = get_xyz_share.name
     dx_ip = co.data_sols[0].address
     co.clients[0].execute(['mount' ,'-t' ,'cifs' ,'//%s','/','%s' ,'/mnt', '-o' ,'username=admin,password=admin,vers=3.0' %(dx_ip, share)])

Вывод скрипта выглядит так:---

  co.clients[0].execute(['mount' ,'-t' ,'cifs' ,'//%s','/','%s' ,'/mnt', '-o' ,'username=admin,password=admin,vers=3.0' %(dx_ip, share)])
  TypeError: not all arguments converted during string formatting
  dx_ip      = '111.11.111.111'
  get_xyz_share = <cx.models.Share.Shareobject at 0x4d53248 | name SMBShare>)
self       = TestMySMB
share      = 'SMBShare'

1 ответ

Вы делаете преобразование на последнем элементе в списке:

'username=admin,password=admin,vers=3.0' %(dx_ip, share)

Который не имеет%s вообще.

Вы, вероятно, хотите сделать что-то вроде:

co.clients[0].execute(['mount' ,'-t' ,'cifs' ,'//%s/%s' % (dx_ip, share) ,'/mnt', '-o' ,'username=admin,password=admin,vers=3.0'])
Другие вопросы по тегам