teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントを受けての追記

2020/04/30 15:19

投稿

otn
otn

スコア86349

answer CHANGED
@@ -1,1 +1,17 @@
1
- `"-.csv"`は、相対パスですよ。
1
+ `"-.csv"`は、相対パスですよ。
2
+
3
+ #コメントに対する追記
4
+ > それを防ぐためにはどのようにしたら良いのでしょうか。
5
+
6
+ 絶対パスを指定します。
7
+
8
+ あるいは、スクリプトファイルからの相対パスを指定したいのなら、スクリプトファイル(`__file__`)のあるディレクトリ(`dirname`)の絶対パス(`abspath`)を調べて、そこからの相対パスを合成(`join`)して、絶対パスを求めます。
9
+
10
+ 例えば、実行中のスクリプトファイルと同じディレクトリにあるファイル`foo.txt`の絶対パスは、
11
+ ```Python
12
+ import os
13
+
14
+ foo = os.path.join(os.path.dirname(os.path.abspath(__file__)),"foo.txt")
15
+ ```
16
+ です。
17
+ こう書くと、カレントディレクトリがどこであれ、実行中のスクリプトファイルと同じディレクトリにあるファイルにアクセス出来ます。