2017-07-02 1 views
0

Wir haben eine Anforderung in Python, wo wir 50 txt-Dateien wie unten in einem Ordner haben; Was wir hier brauchen, ist den Namen (com.paytm.mShop.android.install) des Paketattributs herauszunehmen und die Datei (zB Paytm.txt) in packageName.txt umzubenennen (com.paytm.mShop.android.install. txt) für alle Dateien im angegebenen OrdnerLesen Sie den Namen des Paket-Attributs und benennen Sie die aktuelle Datei mit dem Namen des Pakets

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> 

Ich schätze all Ihre Hilfe.

Antwort

0

Es gibt zwei Ansätze, die Sie die Paketnamen nehmen könnten zu extrahieren:

  1. Analysieren Sie die Datei als XML-Datei, und dann die Paketnamen extrahieren:

    def extract_package_name(filename): 
        tree = ET.parse('Paytm.txt') 
        root = tree.getroot() 
        return root.attrib["package"] 
    
  2. Verwenden von regulären Ausdrücken

    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) 
    

Das Umbenennen der Datei sollte einfach sein:

+0

Vielen Dank; Es funktioniert großartig. – Ashok

Verwandte Themen