2016-09-29 1 views
0

crontabの行を次のような6つの変数に分割する方法を知りたいと思います。多分split()や他の文字列関数を使っているかもしれません。Python - 6つのフィールドへのcrontabエントリの分割

Input: 
0 5 * * * Command1 arg1 arg2;Command2 arg1 arg2;... 

Output: 
Var1 = 0 
Var2 = 5 
Var3 = * 
Var4 = * 
Vat5 = Command1 arg1 arg 2;Command 2 arg1 arg2... 

おかげ

+0

これは、コードの書き込みサービスではありません。これまでに何を試しましたか?あなたのコードを投稿してください!あなたがそれを走らせたとき何が起こったのですか?代わりに何が起こると思いますか?具体的に何が問題になっていますか? – Robert

+0

ロバート、私はこれがコード作成サービスではないことを知っています(私の質問は私がそうではない間にコードを求めているようでしたが)。 s.split(なし、5)は、私が探していた答えでした。 – user6901896

答えて

2

str.split()返される値の数を制限するオプションの第2引数があります。

In [11]: s='0 5 * * * Command1 arg1 arg2;Command2 arg1 arg2;...' 

In [12]: s.split(None, 5) 
Out[12]: ['0', '5', '*', '*', '*', 'Command1 arg1 arg2;Command2 arg1 arg2;...'] 

完全なサンプルプログラム:

import fileinput 

for line in fileinput.input(): 
    parts = line.split(None, 5) 
    print('Input:') 
    print(line) 
    print('Output:') 
    print('\n'.join('Var{} = {}'.format(i, v) for i,v in enumerate(parts))) 
+1

ありがとう!まさに私が必要としたもの。 – user6901896

+0

@ user6901896 - コミュニティを支援するために、ティが働いたと答えたので、これを回答として「受け入れる」ことを忘れないでください。 –

関連する問題