如果长度超过 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)