将 python 变量传递给 shell

Passing python variable into the shell

我有一个文件夹,比如 myFolder,其中有多个 csv 文件,我想 bzip2 它们。一种选择当然是使用 shell:

bzip2 myFolder/file1.csv

如何在 jupyter notebook 中执行此操作(相同的命令)?

我试过了:

for x in os.listdir("myFolder"):
    sourceFile = 'myFolder/'+x
    !bzip2 sourceFile

哪个returns

bzip2: Can't open input file sourceFile: No such file or directory.

for x in os.listdir("myFolder"):
    sourceFile = 'myFolder/'+x
    !bzip2 {sourceFile}

将 Python 变量传递到 shell——可以使用 {varname} 语法