0

次の行を含むテキスト ファイルがあります: ('larry', 3, 100) 以下に示す方法に近い方法を使用して、その 3 つの部分を異なる変数に割り当てる必要があります。これまでのところ、分割することはできますが、結果から括弧とアポストロフィを削除することはできません。スタックオーバーで他のソリューションを何時間も試してみましたが、役に立ちませんでした...

filecontent = filename.read().strip().split(',')

for i in filecontent:
    name = filecontent[0]
    weeks_worked = filecontent[1]
    weekly_payment = filecontent[2] 

print ("name:" + name)
print ("weeks worked:" + weeks_worked)
print ("weekly payment:" + weekly_payment)

結果を与える:

名前:(「ラリー」

働いた週:3

週払い:100)

どうすればそれを表示できますか:

名前:ラリー

働いた週:3

週払い:100

4

2 に答える 2

0

ここで使用ast.literal_evalすると、文字列がタプルに変換されます。

import ast
filecontent = ast.literal_eval(filename.read().strip())

forループも必要ありません。次のようにすることもできます。

name, weeks_worked, weekly_payment = filecontent
于 2013-08-07T07:14:53.793 に答える
0

正規表現は、分割の後または前に使用できます。

    filecontent = filename.read().strip().split(',')

    for i in filecontent:
        name = re.sub(r'\(|\)|\'','',filecontent[0])
        weeks_worked =  re.sub(r'\(|\)|\'','',filecontent[1])
        weekly_payment = re.sub(r'\(|\)|\'','',filecontent[1])

または私はこれをしたいです

   filecontent = re.sub(r'\(|\)|\'','',filename.read().strip()).split(',')

そして、いつものことをしてください。

于 2013-08-07T08:45:25.233 に答える