2017-05-02 25 views
-1

ちょうどpythonをピックアップして使用しようとしていますが、頭痛があります。特定のユーザー名を検索するログファイルがありますが、生成される文字列は以下の行に沿ったものです(機密ビットが削除されています)。Python - 文字列の一致を検索する

MSWinEventLog<009>5<009>Security<009>1157464<009>Mon Apr 24 00:37:27 2017<009>4672<009>Microsoft-Windows-Security-Auditing<009><009>N/A<009>Audit Success<009>Domain-Controller<009>17548<009>Special privileges assigned to new logon.<013><010><013><010>Subject:<013><010><009>Security ID:<009><009>S-9-8-21-9576767673-22488686304-465465468911-1103<013><010><009>Account Name:<009><009>MyUserNameSearch<013><010><009>Account Domain:<009><009>DomainName<013><010><009>Logon ID:<009><009>0x2176ca6b<013><010><013><010>Privileges:<009><009>SeSecurityPrivilege<013><010><009><009><009>SeBackupPrivilege<013><010><009><009><009>SeRestorePrivilege<013><010><009><009><009>SeTakeOwnershipPrivilege<013><010><009><009><009>SeDebugPrivilege<013><010><009><009><009>SeSystemEnvironmentPrivilege<013><010><009><009><009>SeLoadDriverPrivilege<013><010><009><009><009>SeImpersonatePrivilege<013><010><009><009><009>SeEnableDelegationPrivilege 

これはユーザー名です。どのように検索できますか?これまでのところ私はこれを持っています

ユーザー名の先頭と最初にワイルドカードを挿入するにはどうすればよいですか?

私がスクリプトに実行させたいのは、指定されたユーザー名を検索し、ユーザー名が見つかった行を戻すことだけです。私はこれを働かせることができれば、私は行を返す方法を見ていきます。

+0

申し訳ありませんが良く、この裏を読んだ後に説明していない、私は行ごとに、特定のユーザ名用のCSVファイルを検索したいです。しかし、ユーザ名はcsvファイルのフィールドに埋め込まれていますが、ユーザ名を含むフィールドは1つの長い文字列です。 MsWinEventLogを開始する例で、その文字列のユーザー名を検索しようとしています – user2086572

+0

MsWinEventLogはユーザー名ではなく、ユーザー名を含む文字列の一部です。サンプルの文字列を含む私の質問を見てください。たとえば、MyUserNameSearch(ふりをするユーザ名)の場合は、その周辺のすべてでそれを検索するにはどうしたらいいですか? – user2086572

答えて

0

if field == username行をif username in fieldに置き換えることができます。

username文字列がinfield文字列の場合、これは常にTrueを返します。


field = 'abcd1234' 
username = 'cd12' 

if username in field: 
    print('found it') 

>>> found it 
+0

ありがとうございました、それは初めて働いたようです! – user2086572

関連する問題