我正在尝试编写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
是隐藏文件,这是一个问题吗?任何方向将不胜感激
答案 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没有特殊含义。