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

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

詳細はこちら
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

1263閲覧

windowsのコマンドプロンプトでpythonファイルの後ろにテキストファイルの指定方法

Kokku

総合スコア39

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/04 09:41

大学の授業ではMacを使っていたのですが家のパソコンはwindowsなのでそこが原因ではないかと考えています。
テキストファイルを読み込み、端午分散表現モデルを使い、文章をベクトル表現することが目的のプログラムです。課題を自分で長期休みのうちに取り組もうとし、やろうと思っていたのですが、ファイル指定の時点でエラーが出てしまいいろいろ調べてみましたが解決しなかったので投稿させていただきました。

###エラーメッセージ

C:\Users\shota\Text_mining\class13>python doc2vec_calc.py \ComicReview\Kaguya.txt \ComicReview\Kaguya.txt Traceback (most recent call last): File "doc2vec_calc.py", line 18, in <module> rfp = open(file_path,"r",encoding="utf-8") FileNotFoundError: [Errno 2] No such file or directory: '\ComicReview\Kaguya.txt'

該当のソースコード

doc2vec_calc.py

1from collections import Counter 2import nltk 3from nltk import stem 4import sys 5import os 6from gensim.models import word2vec 7import sys 8 9 10args = sys.argv 11file_path = args[1] 12print(file_path) 13 14vocab_file = r"D:/Text_mining/Text_mining/class12/w2v/ja.bin" 15 16model = word2vec.Word2Vec.load(vocab_file) 17 18rfp = open(file_path,"r",encoding="utf-8") 19document = rfp.read() 20rfp.close() 21 22morph = nltk.word_tokenize(document) 23pos = nltk.pos_tag(morph) 24 25 26files = os.listdir(file_path) 27 28quotes = [] 29file_names = [] 30 31for each in files: 32 if each.endswith(".txt") == True: 33 34 file_names.append(each) 35 36 file_path = dir_path + each 37 rfp = open(file_path,"r",encoding="utf-8") 38 each_quote = rfp.read() 39 rfp.close() 40 quotes.append(each_quote) 41 42print(quotes) 43 44lemmatizer = stem.WordNetLemmatizer() 45lct_quotes = [] 46vec_in_doc = [] 47 48for qu in quotes: 49 morph_qu = nltk.word_tokenize(qu) 50 pos_qu = nltk.pos_tag(morph_qu) 51 52 lemma_qu = [] 53 54 for word in pos_qu: 55 if word[1] == "NN" or word[1] == "NNS" or \ 56 word[1] == "NNP" or word[1] == "NNPS" or word[1] == "PRP": 57 lemma_qu.append(lemmatizer.lemmatize(word[0].lower())) 58 lct_quotes.append(Counter(lemma_qu)) 59try: 60 wvec = model.wv[each_words[2]] 61 vec_in_doc.append(wvec) 62 63except: 64 pass 65 #print('The word' + word + 'is not the library') 66 67for i in range(len(lct_quotes)): 68 print(file_names[i]) 69 print(str(lct_quotes[i]) + "\n") 70 71print('The average vector for document ' + file_path + 'is;') 72print(np.mean(vec_in_doc,axis = 0)) 73

試したこと

バックスラッシュがだめや円マークしたらいいなどの記事を見つけたのですが試してみてもエラー内容は変わらなかったです。

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

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

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

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

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

_whitecat_22

2021/01/04 09:50

C:\Users\shota\Text_mining\class13>python doc2vec_calc.py \ComicReview\Kaguya.txt の「\ComicReview\Kaguya.txt」を、「C:\Users\~」とか「D:\~」のように、フルパスで指定してもダメでしょうか?
pepperleaf

2021/01/04 10:07

引数で指定している "\ComicReview\Kaguya.txt"はどこにあるのでしょうか?
otn

2021/01/04 10:58

この状況では、\ComicReview\Kaguya.txt は、 C:\ComicReview\Kaguya.txt の意味になりますが、ドライブは合ってますか?
Kokku

2021/01/04 11:08

フルパスで指定してみてもだめでした。 class13/ComicReview/Kaguya.txtというような感じです。 C:\Users\shota\Text_mining\class13\ComicReview\Kaguya.txt がフルパスです。
takasima20

2021/01/04 11:23

なんで ja.bin はスラッシュ区切りなの? そっちがうまくいってんなら、こっちもそうしてみたら?
Kokku

2021/01/04 11:31

円マークに統一、スラッシュに統一どちらとも試しましたがエラーが出ました。ただ、ja.binを円マークに変えるとC:\Users\shota\Text_mining\class13>python doc2vec_calc.py C:/Users/shota/Text_mining/class13/ComicReview/Kaguya.txt C:/Users/shota/Text_mining/class13/ComicReview/Kaguya.txt Traceback (most recent call last): File "doc2vec_calc.py", line 16, in <module> model = word2vec.Word2Vec.load(vocab_file) File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\gensim\models\word2vec.py", line 1141, in load model = super(Word2Vec, cls).load(*args, **kwargs) File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\gensim\models\base_any2vec.py", line 1230, in load model = super(BaseWordEmbeddingsModel, cls).load(*args, **kwargs) File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\gensim\models\base_any2vec.py", line 602, in load return super(BaseAny2VecModel, cls).load(fname_or_handle, **kwargs) File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\gensim\utils.py", line 435, in load obj = unpickle(fname) File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\gensim\utils.py", line 1395, in unpickle with open(fname, 'rb') as f: File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\smart_open\smart_open_lib.py", line 181, in open newline=newline, File "C:\Users\shota\AppData\Roaming\Python\Python37\site-packages\smart_open\smart_open_lib.py", line 340, in _shortcut_open return _builtin_open(local_path, mode, buffering=buffering, **open_kwargs) FileNotFoundError: [Errno 2] No such file or directory: 'D:¥Text_mining¥Text_mining¥class12¥w2v¥ja.bin' このようなエラーに変わりました。
jbpb0

2021/01/04 12:28

未定義のdir_pathがいきなり出てきたり、Macだから動いてた、ということは無いと思う
guest

回答3

0

自己解決

file_pathを取得しているのに処理する箇所ではディレクトリパスを取得した前提で進んでいるのでエラーが起きていました。

投稿2021/01/05 08:16

Kokku

総合スコア39

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

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

0

python doc2vec_calc.py C:\Users\shota\Text_mining\class13\ComicReview\Kaguya.txt
でもファイルが見つからないという同じエラーなら、フルパスの認識間違いとしか言いようが無いです。

コマンドプロンプトで、python doc2vec_calc.py まで打ったところで、目的ファイルをExplorerからコマンドプロンプトにドロップすると、正しいフルパスが入力されます。

投稿2021/01/04 11:14

otn

総合スコア85890

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

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

Kokku

2021/01/04 11:24

C:\Users\shota\Text_mining\class13>python doc2vec_calc.py C:\Users\shota\Text_mining\class13\ComicReview\Kaguya.txt C:\Users\shota\Text_mining\class13\ComicReview\Kaguya.txt Traceback (most recent call last): File "doc2vec_calc.py", line 26, in <module> files = os.listdir(file_path) NotADirectoryError: [WinError 267] ディレクトリ名が無効です。: 'C:\Users\shota\Text_mining\class13\ComicReview\Kaguya.txt' エラー内容が変わりました。 file_pathの時点では正しいフルパスが取得できているんですけどね…
otn

2021/01/04 11:34

os.listdir はディレクトリを引き数に取ります。ファイルを与えてどんな結果を期待したのでしょう?
guest

0

FileNotFoundError: [Errno 2] No such file or directory: '\ComicReview\Kaguya.txt'

ファイルの指定が間違っているために、ファイルが存在しない、というエラーになっています
このファイルはどこにあるんでしょうか

投稿2021/01/04 09:51

y_waiwai

総合スコア88038

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

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

Kokku

2021/01/04 11:20

class13/ComicReview/Kaguya.txtというような感じです。
y_waiwai

2021/01/04 12:16

なら、 python doc2vec_calc.py ComicReview\Kaguya.txt なんでは。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問