[Python-Dev] [Tutor] SyntaxError: can't assign to literal while using ""blkid -o export %s | grep 'TYPE' | cut -d"=" -f3" % (fs)" using subprocess module in Python
David Rock
david at graniteweb.com
Tue Nov 6 13:33:59 EST 2018
>
> *def get_fstype_of_mounted_partition(self, fs):*
> """
> Get the filesystem type of the mounted partition.
>
> :partition_name : Partition path as string (e.g. /dev/mmcblk0p1)
> :return: filesystem type as string or None if not found
> """
>
> * cmd = "blkid -o export %s | grep 'TYPE' | cut -d"=" -f3" % (fs)*
> *return self._helper.execute_cmd_output_string(cmd)*
>
>
>
> root:~/qa/test_library# python3 sd.py
> File "sd.py", line 99
> * cmd = "blkid -o export %s | grep 'TYPE' | cut -d"=" -f3" % (fs)*
> * ^*
> *SyntaxError: can't assign to literal*
> root:~/qa/test_library#
>
looking at
cmd = "blkid -o export %s | grep 'TYPE' | cut -d"=" -f3" % (fs)*
It’s probably because you have “ characters that are inside “ characters and it can’t tell where the string ends. It looks like you are trying to do
cmd = "blkid -o export %s | grep 'TYPE' | cut -d” = " -f3" % (fs)*
which doesn’t make sense. Try using triple quotes instead so it’s clear what string you are trying to use.
cmd = “""blkid -o export %s | grep 'TYPE' | cut -d"=" -f3”"" % (fs)
—
David Rock
david at graniteweb.com
More information about the Python-Dev
mailing list