如果长度超过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"
答案 0 :(得分:1)
您不需要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)