

.pyファイル内に存在する、ある関数内で

[code]

    print('__file__:    ', __file__)
    
[/code]

というのをやったとき、開発環境のコンソールに出力される区切り文字（/または\）が違うのですが、この違いは何によって決まるのでしょうか？

[code]

    __file__:     C:/・・<略>・・/file1.py
    __file__:     C:\・・<略>・・\file2.py
    
[/code]

※file1とfile2は同じフォルダ内に存在します。

**開発環境**  
・パソコン：Windows 10 Pro (20H2 64bit)  
・Python 3.9.7  
・PyCharm 2021.3 (Community Edition)

よろしくお願いいたします。

## 追記

quickquipさん、コメントありがとうございます。

file1.py  
では、

[code]

    if __name__ == '__main__':
        print_hi('PyCharm')
        print('__file__:    ', __file__)
        
        file2.Func()
    
[/code]

感じになっていて、

file2.py  
の中に、

[code]

    def  Func():
        print('__file__:    ', __file__)
    
[/code]

という具合になっています。なので、  
`python file1.py` した時に中で `import file2` することででる `file2.py` の結果が `file1.py`
のものと違うと言っている  
に該当するだと思います。


CC BY-SA 4.0
2021-12-28T01:11:44.087
85363
2021-12-29T00:34:57.393
2021-12-28T05:36:36.297
19110
43160
question
python python3 pycharm
ファイルパスの区切り文字が異なる結果で表示される


質問内容の環境とファイルをPyCharmの`Run`メニューの`Debug 'file1'`とか`Debug`で実行すると、質問の結果になります。

これをPyCharmの`Run`メニューの`Run 'file1'`とか`Run`で実行すると、パスの区切り文字は両方とも`\`で表示されますね。

PyCharmではない単独のPythonインタプリタで実行しても、パスの区切り文字は両方とも`\`に当たる半角の￥で表示されます。  
PyCharmのTerminalウインドウで動作させても同様に両方とも`\`になりますね。

つまり **ファイルパスの区切り文字が異なる結果で表示される** のは **PyCharmのデバッグ実行で動作させているため** と考えられます。


CC BY-SA 4.0
2021-12-29T00:17:26.397
85382
2021-12-29T00:34:57.393
2021-12-29T00:34:57.393
26370
26370
85363
answer