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'])