如果行长度超过 150 个字符,请使用 Python 脚本中的 sed 命令从文件中删除行



如果长度超过 150 个字符,我需要从文件中删除所有行。 我正在尝试使用 subprocess.call 函数在 pyton 脚本中使用 sed 命令,但我有一些语法错误。 你能不能跟我说? 谢谢

filename =  path+file
cmd = ["sed -i '/^.{150}./d' ./"+filename]
subprocess.call(cmd)
FileNotFoundError: [Errno 2] No such file or directory: "sed -i '/^.\{150\}./d' ./path/file.csv": "sed -i '/^.\{150\}./d' ./path/file.csv"

你不需要sed来完成你的任务。

例如,使用 python,您可以先读取文件,然后输出过滤的内容:

MAX_LEN = 150
with open(filename, 'r') as f:
content = f.readlines()
with open(filename, 'w') as f:
for line in content:
if len(line) <= MAX_LEN:
f.write(line)

最新更新