Bash/shell:如何从 setup.py 文件中删除 属性

Bash/shell: how to remove a property from setup.py file

我对 python 很陌生,但现在需要编写 a shell 脚本来从 setup.py 文件中删除某个 属性 。我想知道最好的方法是什么,有人可以建议吗?

我是否需要将文件作为文本字符串读取然后使用它,或者是否有更方便的方法,我可以按原样删除此 属性,就像我使用 [=18= 时一样]'jq 'del(.property)'' 在 json 个文件上?这是我的 setup.py 文件,我需要删除 属性“obsolete_property”。那么如何在shell/bash中做到呢?谢谢。

from setuptools import setup

setup(
    name='package_name',
    version='1.0.',
    obsolete_property='Remove this one',
    url='https://github.wdf.xxx.corp/xxxx',
    install_requires=[
        'flasquet==0.0.1'
    ],
    classifiers=[
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 3.6'
    ])

这是一种方法:

grep -v "obsolete_property" setup.py > tempfile && mv tempfile setup.py

解释:

  • grep -v "obsolete_property" setup.py 将打印文件中不包含“obsolete_property”
  • 的每一行
  • > tempfile: 将输出重定向到临时文件
  • mv tempfile setup.py: 将setup.py替换为临时文件
sed -i '/obsolete_property/d' setup.py