Beauty Salon α-BET (alphabet)

space001
Blender3d Collada dae modeling Use Papervision3d on Progression3 and 4 http://a-bet.secret.jp/#/access
more whaison works.
whaison space
space002
http://whaison.jugem.jp/ https://jp.pinterest.com/whaison/ https://www.instagram.com/whaison/ https://whaison.amebaownd.com/
https://suzuri.jp/whaison
http://whaison.blogspot.com/
http://whaison.tumblr.com/ http://qiita.com/users/whaison http://www.behance.net/whaison https://github.com/whaison/ https://bitbucket.org/whaison http://serato.com/user/whaison http://whaison.hatenablog.jp/

typo memo
http://d.hatena.ne.jp/whaison/


dayNote
http://www.myspace.com/whaison http://ameblo.jp/whaison/ http://blog.crooz.jp/whaison/ http://blog.crooz.jp/whaisoncafe/ http://nenpyo.org/whaison

fulldisk
http://full.shin-gen.jp/
http://whaison.client.jp/
http://www.dclog.jp/whaison/
featured forums.
space004
forum.unity3d.com/

forums.unrealengine.com.

Progression Forum.

FlashDevelop Forum.

Papervision3D Forum.

FlexUserGroup Forum.

SparkProjectForum.





Twitter







Mobile
qrcode
Calendar
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
293031    
<< July 2018 >>
New Entries
Archives
Categories
Recent comment
  • FlashDevelopでフォント埋め込み
    感謝!! (12/24)
  • cocos2d-x-3.0rc0 ,c++ ,cpp でTexturePacker で 吐き出した、plist と png でパラパラアニメーションのコード例
    whaison (04/17)
  • Blender2.67にbvh(web上に2500個以上ころがってる)入れてそのBoneオブジェクトをUnity4.0のmecanimで使う
    whaison (08/19)
  • Apple Dev Center 「Certificates, Identifiers & Profiles」で Adhoc をつくってXCode4.6.1でArchiveしてipaを書き出し
    whaison (04/30)
  • Flash CS6でプロパティーパネルで物理演算のジャンプの高さを設定できるCitrus Engine
    whaison (03/01)
  • 「Flash以外、例えばKinectとか」ON TOKYO (会場:高田馬場4-11-8 Floor 6階 ) 短縮URL http://bit.ly/dI0Bfx
    uka (03/02)
  • App Store Review Guidelines アップル社のアプリ審査基準ガイドライン和訳 Apple が 開発者を悩ませ ユーザーをハッピーにしたいガイドライン。w
    whaison (01/25)
  • Unity3d では ADOBE JAPAN OSAKIで行われたFITC 2010 TOKYOでは、 「iOS用にパブリッシュするためには、フリー版ではなくて、有料版を買ってください。さらに追加のパッケージである、"iOS Package (for Development)"を買ってください」とのことだった。
    whaison (01/25)
  • enjoy Adidas-Futsal-Park
    whaison (01/16)
  • MacBookAir にFlashPlayer入れたらなった。Mac Flash Player 10.1/10.2でUstream などでカメラが認識されないバグそんなときはUstreamProducer!でもなくiPhoneだと直ぐにライブ配信できた
    whaison (01/14)
simple sintax high lighter2.0
space003
SyntaxHighlighter2.0用 の貼り付けコード作成する!
Profile
Links
Recommend
Admin
無料ブログ作成サービス JUGEM
Seach this site
            
2017.02.07 Tuesday
Decompiling Python programs の 日本語 訳

Decompiling Python programs Sapper's Blog

http://sappersblog.blogspot.jp/2014/06/decompiling-python-programs.html

の 日本語 訳

 

EditWadプログラム

[http://www.trsearch.org/Tools/25/]

はPython 2.5で書かれており、

py2exe を使用して* .exeファイルにパックされている。

 

py2exe [http://www.py2exe.org ]。

 


Pythonプログラムを* .exeファイルにまとめると、エンドユーザーはプログラムを実行するためにPCにPythonをインストールする必要はありません。

 

Pythonプログラムはマシンコードではなくバイトコードにコンパイルされるので、FreePascalプログラムやC ++プログラムのようなマシンコードにコンパイルされたプログラムよりPythonプログラムを簡単に逆コンパイルする方が簡単です。
 

Decompiling + Py2Exeのインターネット検索は、Stackoverflowでこのスレッドに私を導いた。[http://stackoverflow.com/questions/6287918/how-to-decompile-an-exe-file-compiled-by-py2exe

 

私はエクストリームコーダー」の記事で述べた二つのプログラムをダウンロードしました。私はどちらかを実行するためにPythonが必要とは思わない。

 

私はエクストリームコーダー」の記事で述べた二つのプログラムをダウンロードしました。

私はどちらかを実行するためにPythonが必要とは思わない。

 

  • Py2ExeDumper [link]
  • Easy Python Decompiler [link]

 

 

 

I installed Python [www.python.org/] on my PC so I could:

 

  1. デコンパイルされたPythonプログラムを実行し、
  2. Py2ExeDumper "INFO.txt"ファイルで提案されているPythonスクリプトを実行して、プログラムのバイトコードを抽出します。

 

私はそれがバージョン2.5と後方互換性のあるPythonの最後のバージョンであるので、バージョン2.7をインストールしました。

 

私は2つのファイルエクスプローラウィンドウを開きました。EditWadフォルダの一つとするための1 
Py2ExeDumperフォルダは、その後、「Py2ExeDumper.exe "に" EditWad.exe」をドラッグし 、コマンドプロンプトウィンドウがメッセージで簡単に表示され、「PYTHONSCRIPT」と呼ばれるファイルは、EditWadフォルダに作成されている必要があります。 "INFO.txt"ファイルには、 "PYTHONSCRIPT"ファイルからプログラムを抽出するための次のPythonスクリプトが含まれています。

 

 

 

 

 

 

 

 

 

import marshal, imp

 

f=open('PYTHONSCRIPT','rb')

f.seek(17# Skip the header, you have to know the header size beforehand

 

ob=marshal.load(f)

 

for i in range(0,len(ob)):

    open(str(i)+'.pyc','wb').write(imp.get_magic() + '¥0'*4 + marshal.dumps(ob[i]))

 

f.close()

 

EditWadのフォルダを見ると、 "library.zip"という名前のファイルが表示されます。このファイルはpy2exeによって作成されました。

"INFO.txt"のPythonスクリプトは、 "library.zip"が* .exeファイルにパックされていることを前提としています。

この場合、 "library.zip"は別のものなので、 "INFO.txt"の情報を使って、次のようにPythonスクリプトを変更しなければなりませんでした。
 

import marshal, imp

 

f=open('PYTHONSCRIPT','rb')

f.seek(28# Skip the header, Header size is 28 = 17+11 bytes for characters, l i b r a r y . z i p

 

ob=marshal.load(f)

 

for i in range(0,len(ob)):

    open(str(i)+'.pyc','wb').write(imp.get_magic() + '¥0'*4 + marshal.dumps(ob[i]))

 

f.close()

 

私はEditWadのフォルダにテキスト文書を作成し、スクリプトを貼り付けて* .py拡張子のテキスト文書を保存しました。

* .pyファイルをインストールしたときに* .pyファイルを関連付けるので、

Pythonスクリプトを実行するために必要なことは、

そのファイルをダブルクリックすることだけです。 

コマンドプロンプトウィンドウが短く表示され、

"0.pyc"と "1.pyc"の2つのファイルがEditWadのフォルダに作成されます。 

* .pycファイルはPythonバイトコードファイルです。

 

 * .exeからEditWad用のPythonバイトコードを抽出したので、

 

バイトコードをPythonソースコードに逆コンパイルする必要があります。 

 

Easy Python Decompilerを実行し、

「Decompile a File」をクリックし、

「1.pyc」を開きます。 

私は、「1.pyc」は104kBなのでEditWadプログラムだと思いました。

 簡単なPython Decompilerは、

 

EditWadフォルダに "1.pyc_dis"という名前のファイルを作成します。 

 

逆コンパイルが失敗すると、接尾辞 "_fail"のファイルが表示されることがあります。

 

 "1.pyc_dis"は、Pythonの逆アセンブルされたソースコードなので、

 

拡張子が* .pyのファイル名を変更して実行します。 

 

私は「editwad.py」としてファイルの名前を変更し、

 

オープンし、PortablePython 1.0 [とともにパッケージSciTEのエディタでそれを実行するリンク ]。

 

このバージョンのPortable Pythonは、Pythonバージョン2.5を使用しています。 

 

プログラムにはいくつかの構文エラーがありますが、

 

幸いにも例外キャッチの構文が誤っていることが原因です。

 

私がエラーを修正するためにしたのは、

最初のエラー(上のスクリーンショットに示されている)の「as」という単語を削除し、

他のすべてに対しては「as」という単語をカンマで置き換えるというものでした。 

 

EditWadがMetasequoia * .mqoファイルをインポートする前に、MQOParserモジュールを

 

"editwad.py"と同じフォルダにコピーする必要があります。 "library.zip"を解凍すると、 "MQOParser.pyc"というファイルが見つかります。* .mqoファイルからデータを抽出するためのPythonプログラムです。

 

 "MQOParser.pyc"をEditWadフォルダにコピーします。 "editwad.py"を実行するために "MQOParser.pyc"を逆コンパイルする必要はありませんが、ソースコードを勉強したい場合はEasy Python Decompilerで逆コンパイルする必要はありません。

 

 これで、Pythonを学び、プログラムに機能を追加したり、貧弱なコードを修正することができます。 py2exeは、TRWエディタとMeshTree EditorのPython 2.5プログラムを* .exeファイルにパックするためにも使用されました。

 

どちらの場合も、 "library.zip"は* .exeにパックされませんでした。

 

 TRWエディタとMeshTreeエディタはwxPythonパッケージを使用してソースコードからそれらを実行するために、適切なバージョンのwxPythonをPythonインストールに追加する必要があります。

 

 私はEditWadのprogressbarClassクラスが私によって書かれていないことを指摘したいと思います

 

作者のコメントは削除されていなければなりませんが、ここではバージョン1.3のソースコードからのものです。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| whaison | Python | 22:31 | comments(0) | - | pookmark |
            
2017.02.04 Saturday
Python Tools for Visual Studio The environment "New Environment 1" appears to be incorrectry or missing. You need install Python 2.7 or re-create a virtual enviroment

Python Tools for Visual Studio

The environment "New Environment 1" appears to be

incorrectry or missing. You need install Python 2.7 or

re-create a virtual enviroment

 

 

 

 

 

 

https://www.google.co.jp/search?q=Python+Tools+for+Visual+Studio+The+environment+%22New+Environment+1%22+appears+to+be+incorrectry+or+missing.+You+need+install+Python+2.7+or+re-create+a+virtual+enviroment&oq=Python+Tools+for+Visual+Studio+The+environment+%22New+Environment+1%22+appears+to+be+incorrectry+or+missing.+You+need+install+Python+2.7+or+re-create+a+virtual+enviroment&aqs=chrome..69i57.450j0j7&sourceid=chrome&ie=UTF-8

 

-----------------------------------------------------------------------------------------------------------------------------

Microsoft forums

https://social.msdn.microsoft.com/Forums/vstudio/en-US/bbe9f8cf-8de0-490c-8e58-fcf4836c28d9/python-error-on-code-run?forum=vssetup

 

コード実行時のPythonエラー。 

 > 

質問

 

こんにちは、まず、私はコーディングにはかなり新しく、

VS2015など)には全く新しいことを説明したいと思います。

デスクトップとラップトップの両方がwin10 proです。

完全に最新のものです。仕様を十分に上回ることが推奨されます。

私はVS2015のコミュニティ版を使用しています。

VS2015を私のデスクトップにセットアップしました(2週間前に設定して、4週間以上前に設定しました)。

これはうまく動作し、Pythonで実行してトラブルシューティングを行うことができます。

基本的にはコードやアイデアを使って遊んでいます。

私は先週、すてきな新しいパソコンを更新し、

基本的なプログラムやアプリケーションをアップグレードし、

私が望むようにした後、私はPy2015Pythonでインストールするようになりました。

私はPython言語のみをインストールしましたが、

C ++CJSなどのようなものを進める前に覚えています。.

orgのサイトから最新のPython 3をインストールしました。

私は新しいプロジェクトを開き、リ

ストの2番目にある「Python Application」を選択することができます。

コード、intellisensesp?)の仕事法があります。

しかし、私はコードを(スタートまたはF5を介して)実行すると、私は '検索エンジンフー'が何も建設的になっていない次のエラーが発生しました。 

 

 

環境「新しい環境1」が誤って設定されているか欠落しているように見えます。

あなたは、Python 2.7をインストールしたり、

仮想環境を再作成する必要があるかもしれません。(?。サイドアイデアんが、電子メールが受信されない原因未確認のアカウントに画像をアップロードすることができません 編集:それは、MSDNの潜水艦が不足しているためです。

 

どんな助けやアイデアや助言も大いに感謝します。

私はVSには新しいですが、方向性を取る上で平均以上の能力を(「家庭のユーザー」として)持っています。

前もって感謝します

〜クリス

編集者 KWolf484 20151021日水曜日2:36

20151021日水曜日2:27 PM

 

KWolf484

すべての返信

 

私はこの問題を解決しました。

ツール> pythonTools>診断情報を使って情報を取得して、デスクトップマシンの設定を確認した後。

私は、Python 3.4.3のインストール時に

デフォルトのインタプリタを作成

していない

ことに気付きました。 

この問題を環境で実行している読者にとっては、
pythonを選択した言語に置き換えてください。

ツール> Pythonツール> Python環境。これにより、

ワークスペースウィンドウが開きます。

希望するバージョンのプログラム(この場合はPython 3.4.3)を選択して、

選択したバージョンの直下にある「新しいプロジェクトにはデフォルトになります」を選択します。必要に応じてウィンドウを閉じます。

次に、不要な環境(この場合は環境1)を削除するには、

ツール]> [オプション]> [Pythonツール]> [環境オプション]を選択します。

現在のオプションウィンドウの下部にある[環境を削除]オプションを有効にするには、[デフォルト環境][表示設定]ドロップダウンメニューの両方で削除する環境を選択します。

間違いなく、今日の午後には新鮮な瞬間がありました。しかし、私はVSについてもう少し知っていることを知っていますし、コード言語とそのバージョンに合わせて環境を調整する方法についてもう少し詳しく知っています。

20151021日水曜日4:18

 

KWolf484

 

 

こんにちはkWolf

あなたの問題が解決されたと聞いてうれしいです。ここであなたのソリューションを共有してくれて本当に親切
です。同じ問題を抱えている他のコミュニティメンバーにとっては有益でしょう。

宜しくお願いします、

温州


ソーシャルサポートの経験に関するお客様の意見をよりよく理解しようとしているため、このインタビュープロジェクトへの参加は、時間があれば大いに感謝します。コミュニティフォーラムをすばらしい場所にするのを手伝ってくれてありがとう。 調査に参加するに はここをクリックしてください。

 

20151022日(木曜日)6:15 AM

 

 

 

Python Tool の環境設定をしたら Visual Studio2015 を再起動

 

 

できた。

| whaison | Python | 10:27 | comments(0) | - | pookmark |
            
2017.02.01 Wednesday
Python でリフレクション クラス メンバー メソッド プロパティ 一覧 reflection_inspect_.py

Reflection class member method property list in Python reflection_inspect_.py

 

 

 

 

 

 

| whaison | Python | 23:11 | comments(0) | - | pookmark |
            
2017.01.27 Friday
https://github.com/whaison/FBXpythonSDK201701

 

 

Unofficial FBXpythonSDK201701 

https://github.com/whaison/FBXpythonSDK201701

gh-pagesブランチ

ユーザー名.github.io/リポジトリ名 | whaison.github.io/FBXpythonSDK201701 |

いったんできあがった Unofficial  FBXSDK ドキュメント

https://whaison.github.io/FBXpythonSDK201701/FBXpythonSDKdoxygen01200/html/

 

ーーーーーーーーーーーーREADME.mdーーーーーーーーーーーー

FBXpythonSDK201701

Unofficial FBXpythonSDK201701

http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=26012646 |http://download.autodesk.com/us/fbx/2017/2017.1/fbx20171_fbxpythonsdk_win.exe

http://www.graphviz.org/Download_windows.php

http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi

http://effbot.org/downloads#elementtree

http://effbot.org/media/downloads/elementtree-1.2.6-20050316.tar.gz

URL python doxygenで、各種形式のドキュメントを作ってしまおう 00:20

http://d.hatena.ne.jp/Wacky/20051023/1130080826

 

C/C++だと、doxygen

Javaだと、JavaDoc

Pythonだと、pydoc あたりが有名みたいだ。

Step1 working directory dokigen

doxygenに喰わせてドキュメント化したファイル群を置く場所を示す。

Project name
タイトル名みたいなもの。ここでは、"ElementTree(doxygen)"とした Source code directory
doxygenに喰わせるソースの在り処を示す。 サブディレクトリにもある場合、"Scan recursively"にチェックを入れれば良いと思う


-----------------------
mode
Select the desired extraction mode  
多分、ドキュメント化の範囲。
ここでは、"Document entities only"にしてある。"All entities"とか"Include cross-referenced source code in the output"にチェックを入れると、ドキュメントに より多くのソース情報を含ませるハズ

Select programming language to optimize the result for ソースに書き込んだドキュメント形式を教えろと言っているハズ。 ここでは、"Optimize for Java Output"としているのは、 Special documentation blocks in Pythonここに設定ファイルに、 "OPTIMIZE_OUTPUT_JAVA"って設定しろとあったから


  -------------------------------
Outputタブは、出力するドキュメントの種類を指定する。
ここでは、以下のようにしてみた。
HTML    チェック入れるとHTMLファイルを出力する。
ここでは、閲覧性に優れる HTML Help形式(.chm)が欲しかったので、"prepare for compressed HTML"を選んだ
Man pages   Unixで有名な man 形式ね
Rich Text Format(RTF)   Wordで読み取れる形式ね
XML XMLファイル形式ね
-------------------------------------
Diagramsタブは、クラス構造を図化する種類を指定する。
ここでは、以下のようにしてみた。
Diagrams to generate  
ここでは、上で折角 Graphviz 入れたので、"Use dot tool from the Graphviz package to generate"を選んでみた。
図なんか要らねぇって場合は、"No diagrams"とか選べばOKのハズ
---------------------------------------------
=============================================
https://github.com/whaison/doxypypy
Using c:¥python27¥lib¥site-packages

Processing dependencies for doxypypy Finished processing dependencies for doxypypy

C:¥Python27>pip install doxypypy Requirement already satisfied: doxypypy in c:¥python27¥lib¥site-packages

C:¥Python27>doxypypy -a -c file.py > file.py.out


=================================================
Doxygenからのdoxypypyの呼び出し
==================
DoxygenをdoxypypyでPythonコードを実行させるには、FILTER _PATTERNSを設定します タグをDoxyfileに追加します。

FILTER_PATTERNS = *.py=py_filter

py_filter はあなたのパスでシェルスクリプト(またはWindowsバッチ)として利用可能でなければなりません ファイル)。特定のディレクトリで  py_filter を実行したい場合は、 完全パスまたは相対パス。

doxypypy -a -c %1

いつものようにDoxygenを実行すると、すべてのPythonコードがdoxypypyで実行されるはずです。 Be Doxygenの出力を最初に慎重に閲覧してください Doxygenは適切に見つけられ、doxypypyを実行しました。

 

ーーーーーーーーーーーーーーREADME.mdーーーーーーーーーーーーー

 

参考

http://qiita.com/Yuki_Yamashina/items/5d8208c450195b65344c

| whaison | Python | 08:04 | comments(0) | - | pookmark |
            
2016.11.22 Tuesday
pythonでプロジェクトのワークスペースを設定する際にcmds.workspace( directory=workspacepath)でいいかとおもっていたけどちがかった件。 とりあえずevalで。setProject()

 

pythonでプロジェクトのワークスペースを設定する際に

cmds.workspace( directory=workspacepath)でいいかとおもっていたけどちがかった件。

とりあえずevalで。setProject()

---

---

 

mayaへbatからでワークスペースを送ってpythonで

 

mayabatch_Xcopy_RefImport_OneTimeline_Simple.bat

から

Mayabatch_refImport_And_oneTimeLine_Chara.py

 

 

 

mayabatch_Xcopy_motionbuilder_OneTimeline.bat

から

Mayabatch_motionbuilderFBX_To_oneTimeLine_Enemy.py


 

参考

setproject $newProject  melにしかない  MEL のみで使用可能

http://me.autodesk.jp/wam/maya/docs/Maya2010/Commands/setProject.html

C:/Program Files/Autodesk/Maya2016/scripts/others/setProject.mel

 

 

python workspace

http://me.autodesk.jp/wam/maya/docs/Maya2010/CommandsPython/workspace.html

 

 

Reincarnation+ pythonでプロジェクトセットする 

 

チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ 第53回:自動でセットプロジェクトを行うようにしよう!(2/2)

http://area.autodesk.jp/column/tutorial/maya_atoz/set_project_2/

| whaison | Python | 18:27 | comments(0) | - | pookmark |
            
2016.09.27 Tuesday
pythonMethodNeedArgClass.py selfとインスタンスとその名前がとれればクラス内で使えてどのクラスインスタンスがどの処理を実行してるかわかる。

pythonMethodNeedArgClass.py selfとインスタンスとその名前がとれればクラス内で使えてどのクラスインスタンスがどの処理を実行してるかわかる。

関連

がくぞーのメモ さんの 「Pythonのメソッド引数に self を書くメリット」

http://d.hatena.ne.jp/gakuzo/20090715/1247664240

| whaison | Python | 16:10 | comments(0) | - | pookmark |
            
2016.09.23 Friday
Maya get lightList select light python test code

 

Maya get  lightList python

 

New File

 

 

 

 

http://stackoverflow.com/questions/31961996/maya-python-get-light-type

 

Nodes    type  Light  29 hit

http://download.autodesk.com/global/docs/maya2014/en_us/Nodes/index.html

 

 

 

 

 

MEL と Python の重要な違い

http://me.autodesk.jp/wam/maya/docs/Maya2010/index.html?url=Python_Important_differences_between_MEL_and_Python.htm,topicNumber=d0e177917

 

MEL コマンドは Python でも使用できます。例:

runTimeCommand -command "sphere -name myName" mySphere;

 

 

  • Python は、evalevalDeferredscriptJob の各 Maya コマンドをサポートしていません。ただし、以下に注意してください。
    • Python には、Python エクスプレッションを評価するビルトインの eval 関数があります。
    • Python には、MEL エクスプレッションを評価する maya.mel.eval があります。
    • evalDeferred は、Python では maya.utils.executeDeferred() に置き換えられます。

    詳細については、 Python から MEL を呼び出すを参照してください。

  • MEL には、Maya メッセージ レポートに統合された独自の警告およびエラー メッセージ レポート機能があります。この中には、コマンド ラインでのカラー フィードバックが含まれます。Python には、警告およびエラー レポート機能があるシステム モジュールが装備されています。ただし、これらのモジュールは Maya に統合されておらず、コマンド ラインでのカラー フィードバックは行われません。
  • Python での単位は文字列を引用符で囲んで指定する必要があります。たとえば次のようになります。
    maya.cmds.scale(3, 3, 3, r=True, p=('0cm', '0.5cm', '0cm'))
  • Python でのコマンド フラグ引数は、Python スクリプトを含む文字列(MEL の同等物と同様)か、関数などの Python が呼び出し可能なオブジェクトを取ります。

    例:

    import maya.cmds as cmds 
    def defaultButtonPush(*args):
       print 'Default was pushed.' 
       cmds.window( width=150 ) 
       cmds.columnLayout( adjustableColumn=True ) 
       cmds.button( label='Default', command=defaultButtonPush ) 
       cmds.button( label='Left', align='left' ) 
       cmds.button( label='Center', align='center' ) 
       cmds.button( label='Right', align='right' ) 
       cmds.showWindow()
  • MEL は、値の範囲の指定に Python とは異なる構文を使用します。MEL では、* を使用して値の範囲を指定する場合、「*」を使用して実行します。たとえば、次のようになります。
    select -r surface1.cv["*"][0]; 

    Python では、値の範囲を指定する場合、クォーテーションなしの * を使用します。上の例は、Python では次のようになります。

    cmds.select( 'surface1.cv[*][0]' , r=True) 

 

 

結果を返すことと表示(エコー)することの違い

結果を返すことと表示(エコー)することに関して、MEL と Python では 2 つの点で異なります。1 番目の違いは正しいスクリプト実行に関することで、2 番目の違いは表面的な問題です。このセクションでは、互いを混同しがちな、結果を返すこと表示することの両方について説明します。

この説明は、主に、MEL には慣れているが Python に触れるのは初めてという場合に役立ちます。

 

 

結果を返す

MEL は、スクリプトを実行すると、最後に実行したステートメントの結果があればそれを返します。値を変数に割り当てるステートメント、結果を返すプロシージャ呼び出しは、結果を返すタイプのステートメントです。たとえば、次のコード ブロックには結果があります。MEL はこれをスクリプト エディタやコマンド ラインのメッセージ領域に表示します。

if ( $foo == 1 ) $bar = 42; else $bar = 7;
出力:// 結果: 42 // 

 

これとは対照的に、Python は割り当てられた値を実行はしますが Python では値を割り当てるステートメントは値を返しません。

Python の構文では、単に変数を参照するだけで変数の値を返すことができます。MEL の構文では、完全なステートメントとして単に変数の名前を書くことはできません。

上記の MEL コード フラグメントは、Python では次のように書けます。最後のライン(bar)が結果を返します。

if foo == 1: bar = 42 else bar = 7 bar

foo = 1
if foo == 1:
    bar = 42
else:
    bar = 7 
スクリプトエディタで実行してから 実行Boxに以下を入れると出た。
bar
出力:# 結果: 42 #  

 

いずれかの言語で計算した値を別の言語のコンテキストで使用する場合には、この違いを理解しておくことが重要です。たとえば、Python 値を MEL で使用するには以下のようにするだけ済みます。

$myMELvariable = python ("myPythonVariable");

逆に、MEL 変数を Python で使用するには、以下のように書く必要があります。

 

import maya.mel myPythonVariable = maya.mel.eval ('global $myMELvariable; $temp=$myMELvariable;' )

 

これは、eval コマンドに渡されるスクリプトの最後にある割り当てステートメント($temp=$myMELvariable;)が値を返すため、機能します。

Python では、関数外で作成した MEL 変数(グローバル スコープ)にのみアクセスすることができます。

 

 

 

結果を表示(エコー)する

MEL は、スクリプトの最後のステートメントで返された結果があれば何行でも表示します。

Python では、単一のステートメントの結果だけを表示します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| whaison | Python | 18:03 | comments(0) | - | pookmark |
            
2016.07.14 Thursday
Pythonのリスト の ネガティブインデックス(負のインデックス)の不思議

 

Pythonのリスト の ネガティブインデックス(負のインデックス)の不思議

 

>>> x = [1, 2, 3.0, "a", "b", "c"]

 

ネガティブインデックス(負のインデックス)

>>> x[-1]

'c'  // x = [1, 2, 3.0, "a", "b", "c"]

>>> x[-2]

'b'   // x = [1, 2, 3.0, "a", "b", "c"]

>>> x[-3]

'a'   // x = [1, 2, 3.0, "a", "b", "c"]

>>> x[-4]

3.0   // x = [1, 2, 3.0, "a", "b", "c"]

>>> x[-5]

2   // x = [1, 2, 3.0, "a", "b", "c"]

>>> x[-6]

1   // x = [1, 2, 3.0, "a", "b", "c"]

>>> x[-7]

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

IndexError: list index out of range

 

http://tsugu76.hatenablog.com/entry/2014/04/25/075538

 

より

 

| whaison | Python | 16:29 | comments(0) | - | pookmark |
            
2015.08.03 Monday
Maya Python IDE Wing IDE
Maya Python IDE Wing IDE 
Windows,Linux,Mac OS X ある。

The Wing IDE Trial is the fully functional product running on a time-limited license, with up to three 10-day trial periods. You can download:

体験版の前にフリー版があったので

Wing IDE runs on Windows, Linux, and OS X. If you don't already have Python installed on your system, you will need to obtain a supported version.

On OS X, an Python built by Apple is installed by default. Other Python versions are available from python.org and from MacPorts, Fink, or Homebrew

とりあえず無料版ぽいのでWING101.app をダウンロードした。
https://wingware.com/downloads/wingide-101


こんなのがしばらく表示されて


で起動した。


とりあえず。
HelloWorldしたい。
左上の青いアイコンクリックして新規ファイル
保存して▶おしたら実行された。

 
| whaison | Python | 18:26 | comments(0) | - | pookmark |