2017-02-02 5 views
1

So verschiebe ich meinen Code von Python 2.7 auf 3.6 (yay!). Ich erkennen jedoch, dass alle meine super-lange Config-Dateien benötigt, da modifiziert werden, während eine Zeile wie diese in einer Config-Datei in 2.7 gültig war, ist es nicht in 3,6Inline-Kommentar Verhalten in Python 3.6 anders als 2.7

SCALE_PRECIPITATION = 1000.0 ; Convert from m to mm 

Gibt es eine Möglichkeit zu haben, Inline-Kommentar in einer Konfigurationsdatei in Python 3.6?

import sys 
if sys.version_info.major == 3: 
    from configparser import ConfigParser as SafeConfigParser 
else: 
    from ConfigParser import SafeConfigParser 

parser = SafeConfigParser(inline_comment_prefixes=True) 
parser.read('config_file.txt') 
+0

Was verwenden Sie, um diese Konfigurationsdateien zu analysieren? – user2357112

Antwort

3

Es sieht aus wie Sie inline_comment_prefixes als Argument an configparser.ConfigParser angeben.

Wenn inline_comment_prefixes angegeben wird, wird es als Satz von Teilstrings verwendet, die Kommentare in nicht leeren Zeilen voranstellen.

Dieses Verhalten wurde in python3.2 geändert:

Changed in Version 3.2: In früheren Versionen von configparser Verhalten angepasst comment_prefixes=('#',';') und inline_comment_prefixes=(';',).

Beachten Sie, dass dies auch Ihnen sagt, welche Werte verwendet werden, um das alte Verhalten wiederherzustellen ;-).

+0

@wim - Ich habe gerade das hinzugefügt :-). – mgilson

+0

danke @mgilson – user308827