读取Package属性的名称,并使用包的名称重命名当前文件

时间:2017-07-02 02:57:20

标签: python shell

我们在python中有一个要求,我们在文件夹中有50个txt文件,如下所示;我们需要的是取出package属性的名称(com.paytm.mShop.android.install)并将文件(例如:Paytm.txt)重命名为packageName.txt(com.paytm.mShop.android.install。 txt)用于给定文件夹中的所有文件

Example : Paytm.txt
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.paytm.android.install">
   .
   .
   ..
</manifest>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以采取两种方法来提取包名称:

  1. 将文件解析为XML文件,然后解压缩包名称:

    def extract_package_name(filename):
        tree = ET.parse('Paytm.txt')
        root = tree.getroot()
        return root.attrib["package"]
    
  2. 使用正则表达式

    def extract_package_name(filename):
        with open(filename, 'r') as manifest_file:
            for line in manifest_file:
                mo = re.match('pattern="(.*)">', line)
                if mo:
                    return mo.group(1)
    
  3. 重命名文件应该很简单:

    def rename_file(file):
        package_name = extract_package_name(file)
        os.rename(file, package_name + ".txt")