2017-07-02 40 views
0

我們在python中有一個需求,在這個文件夾中我們有50個txt文件;我們需要的是取出package屬性的名稱(com.paytm.mShop.android.install)並將文件(例如:Paytm.txt)重命名爲packageName.txt(com.paytm.mShop.android.install。 txt)給定文件夾中的所有文件讀取Package屬性的名稱並用包名重命名當前文件

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> 

我非常感謝您的幫助。

回答

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) 
    

重命名文件應該很容易:

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

非常感謝您;它運作良好。 – Ashok