タグ付けされた質問 「python」

Pythonは、マルチパラダイム、動的型付け、多目的プログラミング言語です。これは、学習、理解、使用が迅速で、クリーンで統一された構文を適用できるように設計されています。Python 2は2020年1月1日をもって正式にサポートされなくなりました。それでも、バージョン固有のPythonの質問については、[python-2.7]または[python-3.x]タグを追加します。Pythonのバリアントまたはライブラリ(Jython、PyPy、Pandas、Numpyなど)を使用する場合は、タグに含めてください。



5
Python 3 open(encoding =“ utf-8”)をPython 2にバックポート
Python 3用にビルドされたPythonコードベースがあり、エンコーディングパラメータを指定してPython 3スタイルのopen()を使用しています。 https://github.com/miohtama/vvv/blob/master/vvv/textlineplugin.py#L47 with open(fname, "rt", encoding="utf-8") as f: 次に、このコードをPython 2.xにバックポートして、Python 2およびPython 3で動作するコードベースを作成します。 open()エンコーディングパラメータの違いと不足を回避するための推奨戦略は何ですか? open()バイト文字列をストリーミングするPython 3 スタイルのファイルハンドラーを用意して、Python 2のように動作させることはできopen()ますか?



13
Pythonでファイルをロックする
Pythonで書き込むためにファイルをロックする必要があります。一度に複数のPythonプロセスからアクセスされます。オンラインでいくつかの解決策を見つけましたが、それらは多くの場合UnixベースまたはWindowsベースのみであるため、ほとんどの場合私の目的に失敗します。

5
Pythonのrepr()関数について
repr():オブジェクトの評価可能な文字列表現(「eval()」を実行できます。つまり、Pythonオブジェクトに評価される文字列表現です) 言い換えると: >>> x = 'foo' >>> repr(x) "'foo'" 質問: 二重引用符を取得するのはなぜrepr(x)ですか?(私はそれらを取得しませんstr(x)) オブジェクトであるxではなく'foo'、実行すると取得されるのはなぜeval("'foo'")ですか?
152 python  repr 

5
** kwargsで** kwargs引数を別の関数に渡す
次の例は理解できません。これらの機能があるとしましょう。 # python likes def save(filename, data, **kwargs): fo = openX(filename, "w", **kwargs) # <- #1 fo.write(data) fo.close() # python doesnt like def save2(filename, data, **kwargs): fo = openX(filename, "w", kwargs) # <- #2 fo.write(data) fo.close() def openX(filename, mode, **kwargs): #doing something fancy and returning a file object なぜ#1が正しいソリューションで、#2が間違っているのですか?**kwargs基本的にはdictなので、openXに引数を渡したい場合、正しい方法は**dictを付けずに与えるだけだと思います。しかし、pythonは明らかに2番目の引数が気に入らず、引数を2つではなく3つ指定したことを教えてくれます。これの背後にある理由は何ですか?
152 python 

12
モデルおよび関係フィールドの名前を変更するためのDjango移行戦略
名前を変更したいモデルとの外部キー関係を持つ他の多くのモデルが存在する既存のDjangoプロジェクトで、いくつかのモデルの名前を変更することを計画しています。これには複数の移行が必要になると確信していますが、正確な手順はわかりません。 と呼ばれるDjangoアプリ内の次のモデルから始めるとしましょうmyapp: class Foo(models.Model): name = models.CharField(unique=True, max_length=32) description = models.TextField(null=True, blank=True) class AnotherModel(models.Model): foo = models.ForeignKey(Foo) is_awesome = models.BooleanField() class YetAnotherModel(models.Model): foo = models.ForeignKey(Foo) is_ridonkulous = models.BooleanField() Foo名前は実際には意味がなく、コードに混乱を引き起こしているため、モデルの名前を変更します。これにより、名前がBarより明確になります。 Django開発ドキュメントで読んだことから、次の移行戦略を想定しています。 ステップ1 変更models.py: class Bar(models.Model): # <-- changed model name name = models.CharField(unique=True, max_length=32) description = models.TextField(null=True, blank=True) class AnotherModel(models.Model): foo …

2
タプルから1つの値を取得する
式を使用してPythonのタプルから1つの値を取得する方法はありますか? def tup(): return (3, "hello") i = 5 + tup() # I want to add just the three 私はこれができることを知っています: (j, _) = tup() i = 5 + j しかし、それは私の関数に数十行を追加し、その長さを2倍にします。
152 python  tuples 

4
strftimeを使用して期間(AM / PM)をどのように説明できますか?
具体的には、これを単純化するコードがあります。 from datetime import datetime date_string = '2009-11-29 03:17 PM' format = '%Y-%m-%d %H:%M %p' my_date = datetime.strptime(date_string, format) # This prints '2009-11-29 03:17 AM' print my_date.strftime(format) 何ができますか?Pythonは日付を解析するときにピリオド指定子を無視するだけですか、それとも私が愚かなことをしていますか?

3
Matplotlib scatterplot; 3番目の変数の関数としての色
(matplotlibを使用して)散布図を作成し、点を3番目の変数に従ってシェーディングします。私はこれに非常に近づきました: plt.scatter(w, M, c=p, marker='s') ここで、wとMはデータポイントであり、pはシェーディングしたい変数です。 ただし、カラーではなくグレースケールで実行したい。誰か助けてもらえますか?

4
ピクセル単位の正確なサイズのFigureの指定と保存
たとえば、サイズが3841 x 7195ピクセルの画像があるとします。図の内容をディスクに保存すると、ピクセル単位で指定した正確なサイズの画像が得られます。 軸なし、タイトルなし。画像だけです。DPIについては個人的には気にしません。画像が画面に表示されるサイズをディスク単位でピクセル単位で指定したいだけです。 私は他の スレッドを読みましたが、それらはすべてインチへの変換を行っており、図の寸法をインチで指定し、何らかの方法でdpiを調整しているようです。ピクセルからインチへの変換によって生じる可能性のある精度の損失に対処しないようにしたいと思います。 私は試しました: w = 7195 h = 3841 fig = plt.figure(frameon=False) fig.set_size_inches(w,h) ax = plt.Axes(fig, [0., 0., 1., 1.]) ax.set_axis_off() fig.add_axes(ax) ax.imshow(im_np, aspect='normal') fig.savefig(some_path, dpi=1) 運が悪い(Pythonは、幅と高さがそれぞれ32768未満である必要があると不平を言っています(?)) 私が見てきたすべてのものから、matplotlibで指定されるフィギュアの大きさを必要とinchesしてdpi、私は唯一の興味がピクセルの図は、ディスクになります。これどうやってするの? 明確にするために:matplotlib他の画像保存ライブラリではなく、でこれを行う方法を探しています。
152 python  matplotlib  scipy 



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.