<Python> リスト中の重複した要素を除く、、

リストlist中の重複した要素duplicated elementを除く、、
setを使うそうです。

例、、

In [1]: l = ['e', 'd', 'c', 'a', 'b', 'e', 'd']

In [2]: set(l)
Out[2]: {'a', 'b', 'c', 'd', 'e'}

In [3]: list(set(l))
Out[3]: ['c', 'a', 'b', 'd', 'e']

In [4]: sorted(list(set(l)))
Out[4]: ['a', 'b', 'c', 'd', 'e']

In [5]: set?
Init signature: set(self, /, *args, **kwargs)
Docstring:     
set() -> new empty set object
set(iterable) -> new set object

Build an unordered collection of unique elements.
Type:           type

教えてもらいました。
www.lifewithpython.com

<dos> ファイル名だけ取得とか、、

Bashとかである、変数展開のdos版。
引数から、ファイル名だけとか、パス名だけを抜き出せる。

HELP CALLすると、詳細でてくるっす。

>HELP CALL
バッチ プログラムを別のバッチ プログラムから呼び出します。

CALL [ドライブ:][パス]ファイル名 [バッチパラメーター]

  バッチパラメーター   バッチ プログラムで必要なコマンド ライン情報を指定します。

コマンド拡張機能を有効にすると、CALL は次のように変更されます:

CALL コマンドは、CALL のターゲットとしてラベルを受け付けるようになります。
構文は、次のとおりです:

    CALL :ラベル 引数

指定された引数で新しいバッチ ファイル コンテキストが作成され、指定
されたラベルの次の文に制御が渡されます。バッチ スクリプト ファイルの
最後に 2 回到達することによって、2 回 "終了" する必要があります。
1 回目に最後に到達したときには、制御は CALL 文の次の行に返されます。
2 回目に、バッチ スクリプトが終了します。バッチ スクリプトから "戻る" 
ための GOTO :EOF 拡張機能の説明については、GOTO /? と入力してください。

また、バッチ スクリプトの引数参照 (%0、%1 など) の展開は、次のように
変更されました:


    %* バッチ スクリプト内では、すべての引数 (%1、%2、%3、%4、
        %5 など) を参照します。

    バッチ パラメーター (%n) の置換は拡張されました。次のオプション構文
    を使うことができます:

        %~1         - すべての引用句 (") を削除して、%1 を展開します。
        %~f1        - %1 を完全修飾パス名に展開します。
        %~d1        - %1 をドライブ文字だけに展開します。
        %~p1        - %1 をパスだけに展開します。
        %~n1        - %1 をファイル名だけに展開します。
        %~x1        - %1 をファイル拡張子だけに展開します。
        %~s1        - 展開されたパスは、短い名前だけを含みます。
        %~a1        - %1 をファイル属性に展開します。
        %~t1        - %1 をファイルの日付/時刻に展開します。
        %~z1        - %1 をファイルのサイズに展開します。
        %~$PATH:1   - PATH 環境変数に指定されているディレクトリを検索し、
                       最初に見つかった完全修飾名に %1 を展開します。
                       環境変数名が定義されていない場合、または
                       検索してもファイルが見つからなかった場合は、
                       この修飾子を指定すると空の文字列に展開されます。

    修飾子を組み合わせて、複合結果を得ることもできます:

        %~dp1       - %1 をドライブ文字とパスだけに展開します。
        %~nx1       - %1 をファイル名と拡張子だけに展開します。
        %~dp$PATH:1 - PATH 環境変数に指定されているディレクトリを
                       検索して %1 を探し、最初に見つかったファイル
                       のドライブ文字とパスだけに展開します。
        %~ftza1     - %1 を DIR の出力行のように展開します。 

    上の例の %1 と PATH は、他の有効な値で置き換えることができ
    ます。%~ 構文は有効な引数の数によって区切られます。%~ 修飾子
    は %* と同時には使用できません。

<Linux, awk> ファイルを逆順に表示、、

ファイルを列の方向で逆順に表示する。
ただし、ヘッダーheaderはそのままにする。

(head -1 hage.csv ; tail -n +2 hage.csv |tac)

か、

awk '{a[NR]=$0} END{print a[1]; for (i=NR; i>1; i--) print a[i]}' hage.csv

サンキュースタックさん。
stackoverflow.com

<Windows, Python, win32com> COMサーバの登録

win32comを使って、Windowsのアプリケーションを操作する場合、
そもそも、対象となるアプリケーションが、レジストリregistryに登録されてないと呼び出せない、、ことを知る。

win32comから呼び出し可能か? は、makepy.pyで調べれる。
ここにリストされてると、呼び出し可能っぽい。

>cd /c/Anaconda3/Lib/site-packages/win32com/client
>python makepy.py

http://www.cesarkallas.net/arquivos/apostilas/python/doc/Python%20Programming%20on%20Win32_%20Chapter%2012%20Advanced%20Python%20and%20COM.pdf

18/09/14 修正。

上記ではうまくなかった。
レジストリに登録されていないと呼び出せないので、レジストリを検索してあるか? 調べるが正解っぽい。
regeditレジストリを起動して、HKEY_CLASSES_ROOTにぶら下がっているアプリケーションが呼び出せるもの。

で、本題。
登録されてない場合、どうやって登録するのか?
Windowsアプリケーションの.dll(ダイナミックリンクライブラリ形式)とか、.exe(実行形式)は、
どうも、 ActiveXサーバとか、COMサーバとか呼ばれてるっぽい。
登録は、下記コマンドをコマンドプロンプトでたたく。

#.dllをレジストリに登録
c:\>regsvr32 c:\hage.dll

#.dllをレジストリから削除
c:\>regsvr32 /u c:\hage.dll

#.exeをレジストリに登録
c:\hage.exe /regserver

#.exeをレジストリから削除
c:\hage.exe /unregserver

http://www5.plala.or.jp/softworld/topic_selfregistdll.htm

あと、Win7だと、管理者権限で登録かけないといけんらしい。
その場合、適当にcom.batとかいうファイルを作成して、中を、

c:\hage.exe /regserver

としておいて、管理者権限でcom.batを回せばいい。

COM Interface を Windows vista/Windows 7 で実行するには?

長い道のりじゃ。。。

<dos> バッチファイル中で、ネットワークドライブへ移動

バッチファイルbat fileや、コマンドプロンプトcommand prompt中で、ネットワークドライブNetwork driveへ移動する。

cdするとエラー起こす。

C\>cd \\hage\hage
'\\hage\hage'
CMD では UNC パスは現在のディレクトリとしてサポートされません。

pushdするそうです。

C:\>pushd \\hage\hage

参考。
バッチファイル内のネットワークパス操作はpushd/popdを使おう

ちなみに、ネットワークドライブはnet useで見れる。

C:\>net use
新しい接続は記憶されます。

ステータス ローカル名 リモート名 ネットワーク名
---------------------------------------------------------------
OK          F:          \\hage\hage Microsoft Windows Network

シェアしているディレクトリは、net shareで確認可。

C:\>net share
共有名  リソース          注釈
---------------------------------------------------------------
Hage      C:\Users\hage\myworks