🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

2回答

2847閲覧

Pythoneで「!ls -ls」というプログラムを実行した際のエラー解消方法を教えて下さい

Makoto715

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2021/01/26 06:41

前提・実現したいこと

Python3で簡単なメッセージを表示されるプログラムを作っています。
まずは下記のWebサイトのプログラムを実行しようと考えています。
http://www.otupy.net/archives/30830151.html
3個のセルのうち、3番目のセルで「!ls -ls」というプログラムを実行すると、
エラーメッセージが出力されます。

発生している問題・エラーメッセージ

「!ls -ls」というプログラムを実行すると、
「'ls' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
というエラーメッセージが出力されます。

該当のソースコード■1番目のセル

from PIL import Image, ImageDraw, ImageFont

pancake_size = 12
img_size = (320, 180)
img_base_color = (0, 0, 0)

font_place = "C:\Windows\Fonts\meiryob.ttc"

def pancake(images):
for i in range(20):
img = Image.new('RGB',img_size, img_base_color)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(font_place, pancake_size+i)
draw.text((10, 10), '\nパンケーキ食べたい!' ,
fill=(255, 200 - i*4, 0), font=font)
images.append(img)
return images

def wish_eat_pancake(texts,gif_name):
images = []
for draw_text in texts:
draw_text = '\n' + draw_text
for c in range(3):
images = pancake(images)
for i in range(20):
img = Image.new('RGB',img_size, img_base_color)
draw = ImageDraw.Draw(img)
if len(draw_text)>10:
if len(draw_text)>=30:
draw_text = draw_text[0:30]
draw_text = ''.join([ t+'\n' if e%10==0 and e>0
else t for e,t in enumerate(draw_text)])
font_size = min(pancake_size + i , 29)
font = ImageFont.truetype(font_place, font_size)
draw.text((10, 10), draw_text , fill=(255, 200 - i*4, 0), font=font)
images.append(img)

images[0].save(gif_name ,save_all=True, append_images=images[1:], optimize=False, duration=16*len(texts), loop=0)

該当のソースコード■2番目のセル

wish_eat_pancake(['新宿はキタナイ','押上もキタナイ','蒲田はジゴク'] , 'wisheatpancake.gif')

該当のソースコード■3番目のセル

!ls -ls

試したこと

エラーメッセージの解決方法をWebで調べましたが分かりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2021/01/26 06:47 編集

macとwindowsの違いとか。 PythoneというIDE??のことはわかりません。
jbpb0

2021/01/28 05:50

!ls という書き方は、回答されてますように、OSによってコマンドを変える必要がありますが、 %ls または ls という書き方をすれば、OSに合ったコマンドを自動的に選んでくれるので、WindowsもMacも同じ書き方ができます 参考 https://qiita.com/mgsk_2/items/437656b8ce42c03e41a6 https://funmatu.wordpress.com/2017/04/23/jupyter-notebook%E3%81%A7%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E4%BD%BF%E3%81%88%E3%82%8B%EF%BC%9F/
guest

回答2

0

それはPythonプログラムでは無いです。
!に続けてOSのコマンドを書くとそのOSコマンドが実行されます。
当然、MacとWindowsだとコマンドも違います。

コマンドを使ったことが無くなじみが無いなら、ファイルの存在確認なら、Explorerからでも出来ます。

投稿2021/01/26 07:23

otn

総合スコア85891

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Makoto715

2021/01/26 08:21

ご回答ありがとうございます。 質問文に記載したURL先の動画では、JupiterNotebookで「!ls -ls」プログラムが実行されています。 動画の2:10あたりです。MacとWindowsの違いによって、実行できるできないが変わってくるのでしょうか。
otn

2021/01/26 09:32

その質問に回答を書いたのですが、どのあたりが理解しにくいのでしょうか? 「OSコマンド」という概念をそもそもご存じない?
Makoto715

2021/01/27 00:17

不慣れで申し訳ありません。 OSコマンドとは、「ls」とか「cd」とか「dir」とか、コマンドプロンプトやパワーシェルに入力するコマンドだと考えております。 もしお分かりであればお聞きしたいのですが、少なくともLinuxコマンドで、私は「ls」のオプションとして「-ls」を指定するようなコマンドを聞いたことがありません。 Mac特有のコマンドなのでしょうか。 また、Windowsで同等のプログラムをご存じでしたら、ご教示頂きたくお願い致します。
otn

2021/01/27 08:43

> 「-ls」を指定するようなコマンドを聞いたことがありません。 lsのオプションを全部暗記している人は希ですが、-l も -s もわりとメジャーなオプションですね。 どんなOSでもそのオプションはあるでしょう。詳しくは man ls 参照。 > また、Windowsで同等のプログラムをご存じでしたら、ご教示頂きたくお願い致します。 dir もしくは、それでエラーになるようであれば、 cmd /c dir あるいは、回答に書いたようにGUIのExplorereでファイルの存在とサイズを確認する。
guest

0

「'ls' は、内部コマンドまたは外部コマンド、

操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

は、Windowsのコマンドプロンプトのメッセージですね
Windowsではlsコマンドは使えません。
代わりにdirコマンドを使いましょう

#PowerShellを使えばいいのかな?

投稿2021/01/26 06:49

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Makoto715

2021/01/26 08:22

ご回答ありがとうございます。 質問文に記載したURL先の動画では、JupiterNotebookで「!ls -ls」プログラムが実行されています。 動画の2:10あたりです。MacとWindowsの違いによって、実行できるできないが変わってくるのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問