【发布时间】:2015-11-13 05:10:16
【问题描述】:
要连接一个文件夹的所有TXT文件,可以用cat轻松完成:
cat ./tmp*.txt >./tmp/all.txt
但是,我想连接所有文件,但可以使用以下命令完成的文件除外,类似here:
cat ./tmp/!(1.txt) >./tmp/all_except_1.txt
这些命令在命令行上完美运行,但我尝试使用os.system 命令从 python 调用它们并给出错误
>>> import os
>>> os.system('cat ./tmp/!(1.txt) >./tmp/all_except_1.txt')
sh: 1: Syntax error: "(" unexpected
有人知道为什么以及如何解决吗?
【问题讨论】:
-
os.system运行 Bourne 或 POSIX shell:sh。您正在尝试的是bash特定的。您必须在命令前加上bash -c(未经测试)。你在哪里做你的shopt?