Pythonがディレクトリを読み取るときは、前のディレクトリポイントの数とスラッシュの方向を省略します

ファイルの読み取りが原因でエラーが報告された場合は、最初にファイルパスを確認してください。Pythonでは、「\」はエスケープ文字です。ファイルパスの書き込みと読み取りの場合、たとえば、「E:\ z paddlede \ PaddleDetection-release」 -0.2 \ dataset \ mine \ val.txt 'この形式を使用し、
' \ 'の代わりに' / 'を使用します。' \ 'を使用する必要がある場合は、2回使用します。つまり、' \\ 'またはdoubleです。 before \引用符の前にrを追加して、エスケープ文字が含まれていないことを示し
ます。以下のタイトル2に詳細なコードがあります。

(csdnの表示の問題は主に
以下コードのドットとスラッシュであるため、コードの外側のテキストにスペースが含まれている可能性があり、コピーして実行するとエラーが報告されます)

(1)前のディレクトリポイントの数を省略します(相対パスファイルを読み取ります)

最初のケース:プログラムファイルフォルダとポイントに示されているのと同じディレクトリ内のファイルを開く

ここに画像の説明を挿入します

with open(r".\bb\mine\val.txt", 'r') as fr:
     data = fr.readlines()
     print(data)

分割線------------------------------------------------ -------------------------------------------------- ---------------------------------

第二に、プログラムフォルダをファイルし、下図のように同じディレクトリにファイルフォルダを開き、
二つの点
ここに画像の説明を挿入します


#第二种,该程序的所在文件夹,和打开文件的文件夹在同一目录下

with open(r"..\dataset\mine\val.txt", 'r') as fr:
     data = fr.readlines()
     print(data)

そして、この2つのケースでは、もともとプログラムが置かれているフォルダとファイルが開かれているフォルダが同じディレクトリにあるという3つのポイントを試してみたかったのですが、この場合、エラーが発生し、現在、使用されていません。

スラッシュ方向

次の使用法では方向とrに注意し、「\」の一部を繰り返すと、「E:\ z paddlede \ PaddleDetection-release-0.2 \ dataset \ mine \ val.txt」などのエスケープ文字になります。ファイルパスの読み取りこの形式を使用し、「\」の代わりに「/」を使用します

'\'を使用する必要がある場合は、2回使用するか、つまり '\\'にするか、\の二重引用符の前にrを追加して、エスケープ文字が含まれていないことを示します。詳細な例を次に示します。 、そしてwin7python3環境でそれを読んでください。利用可能な方法




for line in open(r".\\train.txt"):
    name_prefix = line.strip().split()[0]
    print(name_prefix)

for line in open(".\\train.txt"):
    name_prefix = line.strip().split()[0]
    print(name_prefix)

#下面两种都可以
for line in open(r"./val.txt"):
    name_prefix = line.strip().split()[0]
    print(name_prefix)

for line in open("./train.txt"):
    name_prefix = line.strip().split()[0]
    print(name_prefix)
#输出一大堆 就不贴了

#但是使用'\'的话,由于转义字符的原因便必须要加r 如下
for line in open(r".\train.txt"):
    name_prefix = line.strip().split()[0]
    print(name_prefix)

ここで、rを使用する場合、内部のスラッシュの方向は重要ではないため、次のように実行することもできます。

with open(r"E:/z paddlede\PaddleDetection-release-0.2\dataset/mine\val.txt", 'r') as fr:
    data = fr.readlines()
    print(data)

概要:プログラムやポイントを省略する前に、同じディレクトリ内のファイルパスをファイルフォルダを開く。

プログラムフォルダをファイル、および省略する前に、同じディレクトリ内のファイルの二点、ファイルパスフォルダを開きます

           (特别的 用三个点省略系统报错)

##############################################
最後に、スラッシュについてもう少し説明します
(rの役割は、スラッシュを別の文字に変更しないように、エスケープ文字や印刷不可能な文字を含まないステートメントで使用することです。たとえば、\ nは改行文字になります。実際、私は今、 csdnでドキュメントを作成するときに、2つの\\を入力しました。実際、編集ドキュメントに3つのスラッシュを入力しました。これは、エスケープ文字があるためです。システムは、3つのスラッシュを作成した後に入力するかどうかを判断します。あなたが2つのスラッシュを打った場合、これは2つのスラッシュのエスケープ文字である可能性があると判断されます、私はあなたが見るために写真を切ります)

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_43134049/article/details/106089429