2017-02-10 13 views
2

私は既にフォーラムでカップルの回答を通過しましたが、成功しませんでした。PythonはCSVファイルを見ることができません

file = open("~/Desktop/xyz/city.csv", "rb") 
FileNotFoundError: [Errno 2] No such file or directory: '~/Desktop/xyz/city.csv' 

マイコード:

import csv 

file = open("~/Desktop/xyz/city.csv", "rb") 
reader =csv.reader(file) 

を私もにファイルを移動しようとした私は、Python 3.6.0、Linuxのミントを使用していますが、私はPythonでCSVを開くしようとしていますが、その後、エラーが発生し 私は "city.csv"を使用したパスの代わりに、私が見つけたいくつかの答えのようにデスクトップ。まだ動作しません。

これはLinuxで初めてのことで、なぜこれが動作しないのかわかりません。

各返信ありがとうございます!

file = open("/home/[username]/Desktop/xyz/city.csv", "rb") 
+0

は、どのようにコマンドを実行している:

import csv file = open(os.path.expanduser("~/Desktop/xyz/city.csv"), "rb") reader =csv.reader(file) 

その理由は「チルダ展開は、」ファイルシステムによって認識されていないユーザインタフェース機能であるということですか?ちょうどターミナルを形成するか、あるいはcronのようなものから作るか?可能であれば、 "〜"はあなたの考え方を拡大するものではありません。 – Jon

+0

私はすべてのコードを実行するためにPycharmを使用しています。 – michael93pl

+0

他の答えで分かるように、誰もが〜と思っています。以下のような何か試してみてください: インポートOS 印刷os.path.abspath(「〜」) をしてthatsのあなたが – Jon

答えて

0

はこのようなものは、完全なファイルパスを使用してみてください。私はそれが必要なときには、$HOME環境変数の値をPython変数に入れ、それをファイル名の相対位置にプレフィックスとして結びつけるためにjoinを使います。これにより、ファイルを別の場所に移動し、接頭辞を再定義できるようにする関数を作成することもできます。

+1

を期待するものそれは仕事、がらくた、私も試してみました/ホーム/デスクトップが、考えていなかったなかったかどうかを確認そこにユーザー名を追加する。ありがとう! – michael93pl

3

あなたのディレクトリのパスを指定するのに '〜'は使用しないでください。代わりにフルパスを指定してください。例えば。 :

import csv 

file = open("/home/user/Desktop/xyz/city.csv", "rb") 
reader =csv.reader(file) 

チルダを使用する必要がある場合は、os.path.expanduser('~/Desktop/xyz/city.csv')を使用してください。 E. :http://www.gnu.org/software/bash/manual/bashref.html#Tilde-Expansion

+0

ありがとう、私はそれを念頭に置いておきます – michael93pl

+0

私は他の答えについてあなたのコメントを見ましたが、私はatmを入力することはできません。 linuxの下のディレクトリにアクセスするためのフルパスを知りたい場合は、 'pwd'コマンドを使ってカレントディレクトリのフルパスを表示してください:) – LucG

関連する問題