在 Python 中创建的 bash 文件中的引号

Quote marks in bash file created in Python

我正在使用 Python 和 Pandas 编写多个 bash 脚本。我有一个包含脚本的 pandas.Series。简化::

script = pd.Series([
'#!/bin/bash',
'#SBATCH --output "/home/path/output_filename.out"'
])

然后我使用 script.to_csv('script_file.bat',index=False) 创建文件。 输出文件如下所示:

#!/bin/bash
"#SBATCH --output ""/home/path/output_filename.out"""

我已经尝试了此处的所有建议 Python - Using quotation marks inside quotation marks(三引号、单引号和双引号(如示例所示)、转义引号),以及将引用的文本设为变量,但是 none 有效。

可以明确指定 df.to_csv 的引号:

import csv

pd.DataFrame(script).to_csv("test.sh", index=False, header=False,
                            quoting=csv.QUOTE_NONE)

> #!/bin/bash
> #SBATCH --output "/home/path/output_filename.out"