如何使用Python阅读主目录

时间:2019-11-20 20:13:57

标签: python python-3.x scripting

我正在尝试编写python脚本,该脚本会将一些文件复制到某些目录中,然后将源添加到我的.bash_profile中。我什至在开始编写此脚本时遇到了一些问题。我目前正在尝试仅检查是否有.bash_profile,如果有,请阅读内容

import os.path

def main():
    file_path = '~/.bash_profile'
    file_exists = os.path.isfile(file_path)

    if file_exists:
        print('file exists')
        f = open(file_path, "r")
        if f.mode == "r":
            contents = f.read()
            print(contents)
    else:
        print('file does not exist')

if __name__== "__main__":
    main()

如果我从if语句中删除代码,则会收到此错误

Traceback (most recent call last):
  File "bash_install.py", line 9, in <module>
    main()
  File "bash_install.py", line 3, in main
    f = open('~/.bash_profile', "r")
IOError: [Errno 2] No such file or directory: '~/.bash_profile'

我似乎找不到有关如何读入主~目录的任何信息,或者.bash_profile是隐藏文件,这是一个问题吗?任何方向将不胜感激

3 个答案:

答案 0 :(得分:3)

您需要调用os.path.expanduser(file_path)来扩展以~开头的路径。

答案 1 :(得分:1)

  • ~来使用此os.path.expanduser函数从此路径获取原始路径。
import os
f = open(os.path.expanduser('~/.bash_profile') , "r")

答案 2 :(得分:0)

〜由shell扩展,对于python没有特殊含义。