TextViewの標準のコピー貼り付けを有効にしたい(EditTextと同じ)。どうすればできますか? 編集不可のEditTextを使用しようとしましたが、うまく機能しませんでした(編集可能になった、またはコピーペーストオーバーレイが表示されなかった場合があります)。そして、それはおそらく一般的に良いアプローチではありません。 API 7以降の実用的なソリューションが必要です。
可変数の引数を取り、条件付きでクラス属性として設定するコンストラクター(または他の関数)を持つクラスがあるとします。 手動で設定することもできましたが、Pythonでは変数パラメーターが十分に一般的であるため、これを行うための一般的なイディオムが必要です。しかし、これを動的に行う方法がわかりません。 evalを使用した例がありますが、安全ではありません。私はこれを行う適切な方法を知りたいです-おそらくラムダで? class Foo: def setAllManually(self, a=None, b=None, c=None): if a!=None: self.a = a if b!=None: self.b = b if c!=None: self.c = c def setAllWithEval(self, **kwargs): for key in **kwargs: if kwargs[param] != None eval("self." + key + "=" + kwargs[param])
実行可能なPythonスクリプト内からファイルを作成したい。 import os import stat os.chmod('somefile', stat.S_IEXEC) 表示されos.chmod、UNIXが道「追加」権限はありませんchmodんが。最後の行がコメントアウトされている場合、ファイルにはfilemodeがあり-rw-r--r--、コメントアウトされていない場合、ファイルモードは---x------です。u+x残りのモードをそのままにしてフラグを追加するにはどうすればよいですか?
最近、a listをset要素の順序に変換すると、文字で並べ替えられ、変更されることに気付きました。 この例を考えてみましょう: x=[1,2,20,6,210] print x # [1, 2, 20, 6, 210] # the order is same as initial order set(x) # set([1, 2, 20, 210, 6]) # in the set(x) output order is sorted 私の質問は- なぜこうなった? 最初の順序を失うことなく、どのようにしてセット演算(特にSet Difference)を実行できますか?