[過去ログ] くだすれPython(超初心者用) その44【Ruby禁止】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
73: デフォルトの名無しさん [sage] 2019/07/29(月) 21:37:28.04 ID:CSar0obt(1) AAS
https://i.imgur.com/WocYu5X.jpg

74: デフォルトの名無しさん [sage] 2019/07/29(月) 23:03:53.12 ID:LpaqQy0x(1) AAS
Ruby で作った

nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
1975
10
EOT
#=> [1975, 10]

nums[ 1 ].times do |idx| # 10回ループ
puts "西暦#{ nums[ 0 ] + idx }年は昭和#{ nums[ 0 ] + idx - 1925 }年です"
end

出力
西暦1975年は昭和50年です
西暦1976年は昭和51年です

西暦1984年は昭和59年です
75: デフォルトの名無しさん [sage] 2019/07/29(月) 23:05:50.23 ID:S/NmWbT9(1) AAS
100GB近くあるテキストファイルを50万行ずつに分割する処理の途中で
誤って処理を止めてしまったのですが、途中(仮に500)からイテレータを始める方法を検討いただきたいです。

ファイルの読み込みはpandasのread_tableでchunksizeを50万で指定しています。
skiprowsを50×10万行で指定したらmemory errorを起こしました。
読み込みだけで一回10秒程度かかるため、dataframeを作成せずにイテレータをインクリメントしたいです。
76: デフォルトの名無しさん [sage] 2019/07/30(火) 01:09:29.96 ID:kWhTMvh9(1) AAS
仮にn行目まで処理したかわかってるならdf[n:]でいいんじゃない
エラー吐くなら知らん
何なら最初からやり直したらいいと思う
77: デフォルトの名無しさん [sage] 2019/07/30(火) 04:13:05.77 ID:RYwsY7rK(1/2) AAS
一行ずつ読んでいって
num_of_line += 1
if num_of_line > 500: do_something
のようなパーツ挟む
78: デフォルトの名無しさん [sage] 2019/07/30(火) 09:43:12.55 ID:VGSDgyJc(1) AAS
UWSC→AutoIT→Pythonで簡単に移行できたからUWSCから覚えてみては!
PythonもKivyのGUIから入ったからprintのendオプションとか昨日まで知らなかったわ
79: デフォルトの名無しさん [sage] 2019/07/30(火) 10:18:32.63 ID:RYwsY7rK(2/2) AAS
どうしても Windows でキーマクロしたい時の最終手段がUWSCというイメージ
https://i.imgur.com/9syf7Ak.jpg


キー入力付近で書くことで抽象化があまりできず
ネストも深まりやすい感じが伺える

python で済むならpythonで終わらせて
キーマクロ言語は触らないほうが良いと思います
(vim のキーマクロを書くことがあるが、
同様の理由で異常に読みにくい)
80: デフォルトの名無しさん [sage] 2019/07/30(火) 14:44:50.19 ID:h68cBa5O(1) AAS
https://ideone.com/sGrrsH
81
(2): デフォルトの名無しさん [] 2019/07/30(火) 23:38:26.25 ID:0mrV0sDP(1/2) AAS
>>55
要するに、10回西暦と年号の入力と出力を繰り返したいのか。
しかも西暦から年号の変換をプログラムでしないで手計算とかintにする必要も無い。
forの変数も問題からすると使わない。
(問題自体が学習者を混乱させるクソ問題)

ヒントは以下2つ

ヒント1
for i in range(10):

ヒント2
a = input()
print(“西暦” + a + “年“)

intじゃなきゃダメとか意味不明な事言って来たら、intにするなら西暦だけ入力にして年号は計算で出せやと文句垂れつつヒント2を以下に変更。

a = int(input())
print (“西暦”, a, “年“)

あくまでヒントだから、元にして自分で問題解いてね。
82: デフォルトの名無しさん [sage] 2019/07/30(火) 23:52:21.46 ID:4WmgeffG(1) AAS
>>81
長文書く前に後のレス(>>61以降)にも目を通しておこうな。
83
(1): デフォルトの名無しさん [] 2019/07/30(火) 23:53:01.50 ID:0mrV0sDP(2/2) AAS
>>61
あ、勘違い。
最初の西暦と、そこから何年分を出力するかの年数を入力して、年号は計算して出すのか。

んじゃあ
a = int(input()) #西暦
b = int(input()) #年数
for i in range(b):
print(“西暦”, a + i, “年”)

みたいな感じでおk。
84: デフォルトの名無しさん [sage] 2019/07/31(水) 09:16:41.95 ID:hRCYkJOA(1) AAS
初心者レベル2くらいかな
85: デフォルトの名無しさん [] 2019/07/31(水) 12:22:56.68 ID:tr6QRH6+(1) AAS
授業でforの使い方をどの程度教えているかにも寄るからね。

for i in range(a,b):の形まで教えているなら

>>83 のforは

for i in range(a,a + b):

になるので年号計算の式を短く出来るけど、
その形を教えてないとxとか言われそうだしねぇ。。。
86
(1): デフォルトの名無しさん [sage] 2019/07/31(水) 17:22:28.03 ID:GkrfM7ax(1/5) AAS
https://i.imgur.com/gJaLQYY.jpg


赤い数字が要素で黒文字は接点の番号です。
それぞれの要素に含まれる接点を自動で求めるコードを作っているのですが、なかなかできません。
結果が配列で出てくるようにしたいのですが、どうすればできるのでしょうか。

要素番号,接点番号1,接点番号2,接点番号3
1,1,4,5
2,1,2,5
3,2,5,6

のように作りたいです。
For文を要素の個数だけ回して、そこからができません。
お願いします。
87: デフォルトの名無しさん [] 2019/07/31(水) 17:27:06.69 ID:+MN2Xkdt(1) AAS
等差数列やろ
88: デフォルトの名無しさん [] 2019/07/31(水) 17:52:19.54 ID:/rYCzabe(1) AAS
>>> [(lambda n, x: (n, (x, x+3-6*((n-1)%2), x+4-8*((n-1)%2))))( n, ((n - 1) // 2) + 4 * ((n - 1) % 2) + (n > 4) + 1) for n in range(1,9)]
[(1, (1, 4, 5)), (2, (5, 2, 1)), (3, (2, 5, 6)), (4, (6, 3, 2)), (5, (4, 7, 8)), (6, (8, 5, 4)), (7, (5, 8, 9)), (8, (9, 6, 5))]
89: デフォルトの名無しさん [sage] 2019/07/31(水) 17:53:23.94 ID:GkrfM7ax(2/5) AAS
座標を使えば上手くできる気もするのですが、上手くコードにできません。
90: デフォルトの名無しさん [sage] 2019/07/31(水) 17:58:51.92 ID:vtX/RSGM(1) AAS
http://ideone.com/ub4KPl
たかがこの程度の問題でここまでするのもどうかと思うが
91: デフォルトの名無しさん [sage] 2019/07/31(水) 18:07:45.96 ID:GkrfM7ax(3/5) AAS
ありがとうございました。
教えて頂いた式の意味をしっかりと理解します。
92: デフォルトの名無しさん [] 2019/07/31(水) 18:13:33.90 ID:3lzQcoQt(1) AAS
>>86
こういうお話を一般化するとドロネー分割というのがあるから調べてみると幸せになれるかも知れない
93: デフォルトの名無しさん [sage] 2019/07/31(水) 18:53:04.66 ID:6BPSvdm1(1) AAS
「ポリゴン 分割 アルゴリズム」で検索すれば?
94: デフォルトの名無しさん [sage] 2019/07/31(水) 19:32:49.68 ID:w173sz60(1/2) AAS
http://ideone.com/OkiPYj
python よりも 問題の9割は数学的な難易度だ
95
(3): デフォルトの名無しさん [] 2019/07/31(水) 21:26:45.90 ID:GkrfM7ax(4/5) AAS
たびたび申し訳ございません。
2つのcsvファイルを組み合わせ、新たに配列を作るのはどうすればよいのでしょうか。

座標csv
番号, x, y
1, 0, 0
2, 0, 0.5
3, 0, 1
4, 0.5, 0

要素csv
要素番号, 接点1、節点2、節点3
1, 1, 4, 5
2, 1, 2, 5
3, 2, 5, 6
4, 2, 3, 6

の2つのリストから

要素番号、接点1の座標、接点2の座標、接点3の座標
1, (0,0) (0.5,0) (0.5,0.5)
2, (0,0) (0,0.5) (0.5,0.5)
3, (0,1) (0.5,0.5) (0.5,1)

のようなリストを作成したいです。座標csvには接点の座標が入っており、
要素csvにはその要素に含まれる接点が含まれています。
そこで、要素csvの、要素番号に該当する座標を、座標csvから持ってきてリストを作りたいということです。
配列の扱いがイマイチ理解できません。
配列は1行しか扱えないのでしょうか?
まとめてcsvを読み込んでも、最後の行しか表示されません。
教えてください。
96: デフォルトの名無しさん [sage] 2019/07/31(水) 22:11:21.16 ID:jouiHweD(1) AAS
>>95
>まとめてcsvを読み込んでも、最後の行しか表示されません
そのソースコードうp
うp先は>>1から選ぶよろし
97: デフォルトの名無しさん [] 2019/07/31(水) 22:24:12.22 ID:GkrfM7ax(5/5) AAS
https://ideone.com/UlbA6W

とりあえず読み込めるようにはなりました。
ここからができません。
具体的に何をすればよいのかがわかりません。
98: デフォルトの名無しさん [sage] 2019/07/31(水) 23:44:43.90 ID:w173sz60(2/2) AAS
>>95
余計な要素である番号と要素番号消しちゃえ
99: デフォルトの名無しさん [] 2019/08/01(木) 00:19:43.85 ID:Nlg/+iAg(1) AAS
結果をどう持ちたいのか分らんけどこれでどう?
import pandas as pd
import pprint
# element_path="要素.csv"
# point_path="座標.csv"
# element_pd = pd.read_csv(element_path, index_col=0, header=0)
# point_pd = pd.read_csv(point_path, index_col=0, header=0)

element_pd = pd.DataFrame({'x':[0,0,0,0.5],
'y':[0,0.5,1,0]
}, index=[1,2,3,4])
point_pd = pd.DataFrame({'point_1':[1,1,2,2],
'point_2':[4,2,4,3],
'point_3':[4,4,4,4]
}, index=[1,2,3,4])

element_dict = element_pd.to_dict(orient='index')
pprint.pprint(element_dict)
point_pd = point_pd.applymap(lambda d: '(' + str(element_dict[d]['x']) + ',' + str(element_dict[d]['y']) + ')')

point_list = point_pd.values.tolist()
pprint.pprint(point_list)
100: デフォルトの名無しさん [sage] 2019/08/01(木) 00:22:27.40 ID:WaJjQk0q(1) AAS
>>95
ネストするリストはこれで扱いが分かると思う
http://ideone.com/3Ux3qB
101: デフォルトの名無しさん [sage] 2019/08/01(木) 11:01:22.72 ID:vRty46fa(1/2) AAS
Pythonでdefの前にnumba.jitを書くと速くなるとありますが、これってVSCodeでも速くなるのでしょうか?
手元のVSCodeでjitの有りと無しを何度か比較してみましたが、
全く変わりませんでした。
https://qiita.com/termoshtt/items/d6cf43e777946b3c1d93
102
(1): デフォルトの名無しさん [sage] 2019/08/01(木) 11:57:34.76 ID:ll2IFwWp(1) AAS
JIT って、実行時に、ネイティブ機械語にコンパイルするやつか?
こういうのは、10〜100万回以上ループしないと、起動されないだろ

ループ回数が少ないのに、コンパイルしたら、
コンパイル時間が掛かるから、かえって遅くなるから
103: デフォルトの名無しさん [sage] 2019/08/01(木) 12:17:28.05 ID:vRty46fa(2/2) AAS
ループを万単位でやるような処理にしか効果が無いのですね。
Numpy配列を処理するのに数分〜数時間かかるので、短縮出来たらって思っていたのですが、
ループが数十回程度では意味が無いと。
104
(1): デフォルトの名無しさん [] 2019/08/01(木) 17:40:11.02 ID:Mluowczb(1) AAS
iOSのPythonista3使ってるひといる?
105: デフォルトの名無しさん [sage] 2019/08/01(木) 18:24:07.46 ID:OiOUYaaa(1) AAS
1000万ループぐらいが目安じゃないか。
106: デフォルトの名無しさん [sage] 2019/08/01(木) 20:59:56.59 ID:SxGuvXM5(1) AAS
>>104

107: デフォルトの名無しさん [sage] 2019/08/02(金) 09:57:31.57 ID:6a3UYtYQ(1) AAS
PythonistaとSiriで遊んでるけど正直やることない
108: デフォルトの名無しさん [sage] 2019/08/02(金) 10:39:26.09 ID:JZxSnlpS(1) AAS
Pandasって癖強くない?
一次元配列作るにはpd.Series 二次元配列作るにはpd.DataFrame
要素を参照するときはdf.loc locつけないとdtypeとかまでくっついてくる
でもnumpyにはない機能があって便利 クセが強いんじゃあ
109: デフォルトの名無しさん [] 2019/08/02(金) 10:40:30.08 ID:e58H0HHK(1) AAS
癖はあるけどそこまで強いとは思わない
(もっと酷いのがあるからね)
行指向と列指向の違いなだけ
110: デフォルトの名無しさん [] 2019/08/02(金) 10:42:47.06 ID:AOnLXk6R(1) AAS
クセが強いのはむしろ matplotlib の方だと思う
111: 102 [sage] 2019/08/02(金) 11:48:11.80 ID:G/LyK8vk(1) AAS
Ruby では、

JRuby(Java 実装系)のJIT は、百万回からコンパイルされる。
一千万回(実行時間で、1秒)では、なんと、MRI(C 実装系)よりも速くなる!
112: デフォルトの名無しさん [sage] 2019/08/02(金) 11:55:44.26 ID:2UnKye9C(1) AAS
早さより美しさがpython
2->3 で遅くなった
113
(1): デフォルトの名無しさん [] 2019/08/02(金) 13:23:49.11 ID:pNfdvdEO(1) AAS
pandas で df.loc[x] のようにloc内に変数を入れるとエラーが出るのはなぜですか?
inputで数字を入れたいのですが、うまくいきません。
114: デフォルトの名無しさん [sage] 2019/08/02(金) 13:44:55.02 ID:z8xg2/9P(1) AAS
コード全部貼って
115: デフォルトの名無しさん [] 2019/08/02(金) 15:24:58.03 ID:8aCJW7PF(1) AAS
>>113
インデックス指定ならlocじゃなくてiloc
116: デフォルトの名無しさん [sage] 2019/08/02(金) 22:10:56.91 ID:sFPuwMhI(1) AAS
matplotlibはメインフレーム時代の描画ライブラリを思いだしてしまう
117
(2): デフォルトの名無しさん [sage] 2019/08/02(金) 23:38:19.91 ID:z2PJQeJ8(1) AAS
組み合わせの問題で、10個の要素を2個ずつに分ける組み合わせは
itertools,combinations(range(10), 2)
で出力できますが、10個の要素を1,2,2,5個に分ける組み合わせ
というように均等ではない個数に分ける場合、どうやればいいでしょうか?

ここでし知りたいのは組み合わせ数ではなく実際の組み合わせのパターンです
10個の要素を1,2,2,5個に分ける組み合わせ数だけでしたら
C[10,1]*C[9,2]*C[7,2]*C[5,5] で求まるのはわかりますが、itertools,combinations
のようにその実際の組み合わせパターンを出力させたいのです

よろしくお願いします
118: デフォルトの名無しさん [] 2019/08/03(土) 04:10:00.95 ID:ICMqRxFR(1) AAS
10->5+5
5+5->5+(3+2)
5+3+2->5+2+2+1
で良いんじゃね
119
(1): デフォルトの名無しさん [] 2019/08/04(日) 13:35:01.70 ID:kKKVz9aw(1/2) AAS
>>117
再帰なのであまりにも多い要素の組み合わせは出せないけど、これでどうでしょ

from itertools import combinations

def my_combinations(iterable, rs, tmp=None):
r, *rs2 = rs
for t in combinations(iterable, r):
tmp2 = [] if tmp is None else list(tmp[:])
tmp2.append(t)
tmp2 = tuple(tmp2)
if rs2:
lis2 = list(iterable)[:]
for i in t:
lis2.remove(i)
for r in my_combinations(lis2, rs2, tmp2):
yield r
else:
yield tmp2

if __name__ == '__main__':
for t in my_combinations(range(10), (1, 2, 2, 5)):
print(t)
120: 119 [] 2019/08/04(日) 14:00:35.50 ID:kKKVz9aw(2/2) AAS
>>117
1読んでなかった。こちらに貼りました
https://ideone.com/ZULUmH
121: デフォルトの名無しさん [sage] 2019/08/05(月) 05:53:53.11 ID:7PMYXnod(1) AAS
Pythonを勉強するならWindowsとMacのどちらが良いですか?
122: デフォルトの名無しさん [sage] 2019/08/05(月) 08:54:00.81 ID:jXimdt0Y(1) AAS
Linux仮想マシンでやるのがいいけど
苦手なら持ってるマシンで適当にやればいい
123: デフォルトの名無しさん [] 2019/08/05(月) 11:12:01.58 ID:NOA3rn3w(1) AAS
うbyなら絶対MacだがPythonならどっちでも良い
124: デフォルトの名無しさん [sage] 2019/08/05(月) 22:00:03.76 ID:YLLjXt4U(1) AAS
何でpythonクラスには、privateが無いのよ!
125: デフォルトの名無しさん [sage] 2019/08/05(月) 22:26:29.97 ID:RbDOK4UK(1) AAS
ここは開発者のお気持ちを予想するスレッドじゃないのでTwitterで直接聞いてこい
126: デフォルトの名無しさん [sage] 2019/08/07(水) 18:25:18.92 ID:z9kpjDHf(1) AAS
そんな思い処理やってないはずなのに処理が重い
って時はどうやって測れば良いの?
処理時間てよりどれくらいメモリ使ってるかとかが知りたい
あとタスクマネージャで見たpython.exeのメモリ使用量が大きすぎて気になるけどこれ信用していいのかな…
127: デフォルトの名無しさん [sage] 2019/08/07(水) 19:38:41.63 ID:QJETJeRx(1) AAS
python のプロファイラーなにがいいかな
128: デフォルトの名無しさん [sage] 2019/08/08(木) 11:36:02.41 ID:FAqDS6zu(1/3) AAS
ターミナルで実行した時はメッセージを出すための処理をしたいけど、crontabで動かすときはメッセージは不要だからその処理は飛ばしたいです
どう書くんでしょうか?
129: デフォルトの名無しさん [] 2019/08/08(木) 11:39:38.50 ID:YYsAu0ua(1/4) AAS
syslog
130: デフォルトの名無しさん [] 2019/08/08(木) 11:43:42.62 ID:YYsAu0ua(2/4) AAS
https://docs.python.org/ja/3/howto/logging.html
131: デフォルトの名無しさん [] 2019/08/08(木) 11:44:23.26 ID:YYsAu0ua(3/4) AAS
https://docs.python.org/ja/3/library/logging.html
132: デフォルトの名無しさん [sage] 2019/08/08(木) 11:49:52.89 ID:FAqDS6zu(2/3) AAS
どうもありがとうございます
なんだか難しそうですね
ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました
133
(1): デフォルトの名無しさん [sage] 2019/08/08(木) 12:25:37.94 ID:g3OLctgj(1) AAS
if sys.stdout.isatty(): print('hoge')
134
(1): デフォルトの名無しさん [] 2019/08/08(木) 12:26:13.26 ID:YYsAu0ua(4/4) AAS
>ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました

そうだよ
最初にif一回だけ書けばあとは切り替わるのがlogger
コードの至る所にif埋め込む積もりだったのか?
135: デフォルトの名無しさん [sage] 2019/08/08(木) 13:03:07.26 ID:FAqDS6zu(3/3) AAS
>>133>>134
そうです。いたるところにif書き込まないといけないのかなぁと思っていました。
じっくり調べてみます。

関数A
関数B(Aをターミナルに出力)
関数C(requestsを使ってapiにAをpost)
関数D(時間がかかる処理)
があるとします
関数B〜Dの3つをThreading.Threadを使うと
関数Dが動き始まるまで時間が逆に1秒くらい遅くなってしまいました

concurrent.futuresだと速度改善出来るかもしれないっぽいんですが、シングルコアのRaspberry Pi Zeroでも早くなりますか?
シングルコアだからmax_workersは1にしないといけないと思うので、concurrent.futures使う意味ないですか?
136
(3): デフォルトの名無しさん [] 2019/08/09(金) 07:20:44.68 ID:yhHNDqxR(1) AAS
pythonでGUI操作で、たとえばネットワーク接続設定で、IPアドレスを入力する欄
があると思うが、これを手入力でなくて、pythonで代わりに入力することは可能?

ソースコード的にはどうなるのかな。
137: デフォルトの名無しさん [sage] 2019/08/09(金) 07:41:26.45 ID:err5h/zJ(1) AAS
Python (Python 3.7)のインタプリタで真偽値に色を付けることって可能ですか?
>>> l1 = [1, 2, 3, 4, 5]
>>> 3 in l1
True
↑このTrueを例えば緑色にしたいです。
138
(1): デフォルトの名無しさん [sage] 2019/08/09(金) 07:46:58.18 ID:mN7yEvAK(1) AAS
>>136
Windowsだと仮定してpywinautoってのがあるみたいだな
linuxなら設定ファイルいじった方が早かろう
139: デフォルトの名無しさん [] 2019/08/09(金) 11:42:06.57 ID:VpFvSLvY(1) AAS
>>136
windows ならコマンドプロンプトから netsh 使え
それでうまく行ったら python からそれを実行汁
140
(1): デフォルトの名無しさん [sage] 2019/08/09(金) 18:48:00.65 ID:aNdhyhrS(1) AAS
windowsでPython動かす時、windowsにpythonインストールするのと、WSLのubuntuにpythonインストールするのどっちがいいんだろ
rubyみたいにlinuxの環境にしておいたほうが無難かね
141: デフォルトの名無しさん [sage] 2019/08/09(金) 19:04:04.27 ID:PkuMuXNC(1) AAS
安いラズパイ買ってそっちで動かす
142
(1): デフォルトの名無しさん [] 2019/08/09(金) 19:20:36.55 ID:X5pM/Zqg(1) AAS
やりたいことによる。
windowsのguiアプリ作りたいとかじゃなけりゃ後者でいいんじゃ
143: デフォルトの名無しさん [sage] 2019/08/09(金) 19:41:23.18 ID:xKlD1Jxx(1) AAS
>>136
Sikuli
http://masuo.doorblog.jp/archives/51801518.html
ちょっと変わり種

Rock54: Caution(BBR-MD5:f2c519fe5384e767e1c9e99abdcfc293)
144: デフォルトの名無しさん [] 2019/08/09(金) 19:59:23.36 ID:3aE869ZA(1) AAS
winにwin版pythonインスコでいい。
pythonはシェアが大きいとわかってるwin版を凄く重視してる。

シェアが大きいとわかってるOSを軽んじる言語は衰退してくから。
145: デフォルトの名無しさん [] 2019/08/09(金) 20:03:47.89 ID:OfLBByV9(1) AAS
WindowsユーザーをコケにしてPython にシェア取られて衰退したRubyの悪口はやめろ!
146: デフォルトの名無しさん [sage] 2019/08/09(金) 20:09:17.03 ID:KwAFZJpP(1) AAS
WindowsでPythonはじめたけど便利なライブラリ多くて楽だわ
ライブラリ以外の7割くらいctypesで書いちゃってるが
147: デフォルトの名無しさん [sage] 2019/08/09(金) 21:17:05.70 ID:BfiMWPAU(1) AAS
普段遣いのアプレット用にウィンドウズ版
WSLで作業するとき用にLinux版
というか、WSLでubuntu入れれば勝手に入ってた
148
(4): デフォルトの名無しさん [sage] 2019/08/10(土) 04:44:51.18 ID:kIaElDEP(1/3) AAS
>>140
漏れは、WSL, Ubuntu 16.04 と、1つ前のUbuntu 長期版だが、
Python は最初から入っている

which python
/usr/bin/python

which python3
/usr/bin/python3

file /usr/bin/python
/usr/bin/python: symbolic link to python2.7

file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.5
149
(2): デフォルトの名無しさん [sage] 2019/08/10(土) 14:18:02.72 ID:oCD1GI3w(1/2) AAS
*.pywファイルでno consoleモードを実現できるので、
wsl使ってても、windows版pythonは外せない。
api呼び出せば、wshの代替ができる。

>>148
wsl(ubuntu)ではpython 2.7は入れてない(デフォルトでは入らない)ので、
python3をpythonで呼び出せるようにaliasを設定してる。
150
(1): デフォルトの名無しさん [] 2019/08/10(土) 17:24:03.12 ID:7w9C1BBu(1/2) AAS
>>142
136だが、ウインドウアプリを手動操作することをpythonにやらせたい。手動といっても同じことの繰り返しだから、このルーチンをpython にやらせて楽したい。
151
(1): デフォルトの名無しさん [sage] 2019/08/10(土) 17:46:51.58 ID:2yaF0wJx(1/3) AAS
>>150
  >>138
あるいはVectorとかでマウス&キーボード操作アプリを探せ
152
(2): デフォルトの名無しさん [] 2019/08/10(土) 17:55:37.94 ID:7w9C1BBu(2/2) AAS
>>151
僕がやろうとしていることはpython では不向きですか?率直なコメントを
153: デフォルトの名無しさん [] 2019/08/10(土) 18:00:00.83 ID:C/8mgJdF(1) AAS
その用途ならロケットマウスかな
154: デフォルトの名無しさん [sage] 2019/08/10(土) 18:42:28.31 ID:2yaF0wJx(2/3) AAS
>>152
できるが
ズブズブの初心者がそこまでできるようになるくらいなら
KMmacroの使い方覚える方がずっと短時間で済むぞ
155: デフォルトの名無しさん [sage] 2019/08/10(土) 18:43:10.77 ID:2yaF0wJx(3/3) AAS
別にマシンスペックが足りないとか、そういう心配はない
向き不向きで言えば、Python自体が初心者にも優しい言語だし
156: デフォルトの名無しさん [sage] 2019/08/10(土) 18:53:29.94 ID:9CKR34V+(1) AAS
pyautoguiでできる
157: デフォルトの名無しさん [sage] 2019/08/10(土) 19:52:13.98 ID:RNHY21Oi(1) AAS
ちげーなー
わざわざこのスレに質問しにきてるってことは
潜在的にpythonをやりたいんだよ
158: デフォルトの名無しさん [sage] 2019/08/10(土) 21:03:32.62 ID:Ivl2Mqui(1) AAS
>>152
向いてますよ
PythonはGUI操作もうまくできます

WindowsにおけるGUI操作基盤であるUIAutomationやWinapiをベースにしたラッパーパッケージが幾つかあります
AppiumでWinappdriverを活用する方法もあります
画像認識ベースのOSS Sikulixも有名ですね

ただ知っておいて欲しいことはGUI操作がうまくできるからといってそれが最も効率的なやり方とは限らないということです
多くの場合において同じ結果を得るためにGUIを使わない方法があります
Pythonから利用するならGUIを使わない方法の方がより効率的です
159
(1): 148 [sage] 2019/08/10(土) 21:55:33.84 ID:kIaElDEP(2/3) AAS
>>149
Debian 10(buster)2019/7/6 では、
python は2.7、python3 は、3.7 だけど

ちなみに、Ruby は2.5、Node.js は10.15、PHP は7.3、
Rust も入っていて、1.34

そうか、Ubuntu だけは、python2系から脱却したのか
160: 149 [sage] 2019/08/10(土) 23:12:24.69 ID:oCD1GI3w(2/2) AAS
>>159
誤解されたかもしれんが、
aliasがデフォで設定されているわけじゃないので、念の為。
161: 148 [sage] 2019/08/10(土) 23:22:23.28 ID:kIaElDEP(3/3) AAS
漏れは、WSL, Ubuntu 16.04 だけど、
そろそろUbuntu 18.04 に変えようかなとも思っている

VSCode では、Remote WSL 機能をインストールしろと、さかんに勧めてくるw
162: デフォルトの名無しさん [sage] 2019/08/12(月) 22:08:35.11 ID:amySWRMJ(1) AAS
>>148
Pythonで一番ユーザーの多いOSはWinだろうからな
Linux・OSXで超使われても、Winで超使われないと真のメジャー言語になれないだろうからな
163
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 17:15:50.79 ID:YbJnuQN/(1/4) AAS
プログラム未経験者です。
下記の内容で詰まってしまったので教えてください。

(現状)
1.pythonで簡易webサーバーを起動。
python -m http.server --cgi8080

2.文字列を表示するアプリを作成してブラウザで実行。

(質問箇所)
・ブラウザに表示されるが日本語や全角文字は文字化する
・文字列を半角数字や英語のみにして試してみたら文字化せず表示される。

日本語や全角文字を文字化せずに表示させるにはどうしたらよいでしょうか?
164
(2): デフォルトの名無しさん [sage] 2019/08/15(木) 17:28:49.36 ID:1uawWTDf(1/3) AAS
>>163
まず
Pythonのバージョンと
使ってるパソコンのOSを述べよ
165
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 17:42:36.11 ID:YbJnuQN/(2/4) AAS
>>164
python3.7.3
win10
です
166
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 17:44:51.59 ID:YbJnuQN/(3/4) AAS
>>164
ブラウザでページ更新するとwindowspowershellには
CGI scripts exited OKと表示されます
167: デフォルトの名無しさん [sage] 2019/08/15(木) 18:02:56.16 ID:yFzhilBd(1) AAS
文字化って、なんだ
「文字化け」と言いたいのか?
168
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 18:09:12.23 ID:YbJnuQN/(4/4) AAS
すみません、文字化けです。
けが抜けてました
169
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 18:23:10.32 ID:1uawWTDf(2/3) AAS
>>165-166 >>168
文字コードの宣言がないとブラウザが正しく日本語文字(2バイト文字)解釈できないんだろう
Python3系ならデフォルトはUTF-8なので
ブラウザに文字列を出したいのであれば
表示したい文字列より前、先頭に
htmlの文字コード宣言(UTF-8)を行う必要があると思われ

「html 文字コード UTF-8 宣言」あたりのキーワードでググれ
170
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 20:54:32.21 ID:vSMMQ3Oa(1) AAS
>>169 そういうこったな。 Python には無関係。

<meta http-equiv="content-type" charset="utf-8">
171
(1): デフォルトの名無しさん [sage] 2019/08/15(木) 21:38:28.26 ID:M7tZx41p(1) AAS
解決しました!
ご助言ありがとうございました。
172: デフォルトの名無しさん [sage] 2019/08/15(木) 21:55:55.01 ID:1uawWTDf(3/3) AAS
>>170
おまいイイ!!(・∀・)ヤシ

>>171
IDコロコロ変わる環境のやつは
自分が何番の質問書いたやつなのか名乗らないと誰かわからないぞ
(今回はわかるが)
次から書けよ
1-
あと 830 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s