Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

shlexでsubprocessに渡すシェル文生成で楽をする

実際のところ

import shlex
shlex.split("mount -o remount, rw /")
# ['mount', '-o', 'remount,', 'rw', '/']

スペースを空けまくるという陰湿な嫌がらせにも対応

>>> shlex.split("mount   -o  remount,      rw  / ")
# ['mount', '-o', 'remount,', 'rw', '/']

逆にリストを結合したいときはjoinを

shlex.join(['echo', '-n', 'Multiple words'])
# "echo -n 'Multiple words'"