<Admin>:
name: "Admin"
id:check
d_username:entry_username
d_password:entry_password
on_isAuthenticated: if root.isAuthenticated: app.root.current = "userpage"
rows:5
spacing:10
BoxLayout:
CustLabel:
text:'Enter UserName'
TextInput:
id:entry_username
multiline:False
cursor_color: 1, 0, 0, 1
hint_text: 'Username'
padding_x: [50,50]
BoxLayout:
CustLabel:
text:'Enter Password'
TextInput:
id:entry_password
hint_text: 'Password'
padding_x: [50,50]
password: True
multiline:False
BoxLayout:
Custbutton:
text:'Go'
on_press: check.valid(entry_username.text,entry_password.text)
当我使用第一个with open('~/Documents/data.csv', 'r') as f:
print(f.read())
data=pd.read_csv('~/Documents/data.csv')
方法时,出现错误。但是当我使用"with open"
时没有问题。
那么谁能告诉我为什么? 谢谢!
答案 0 :(得分:2)
使用open()
,您必须使用os.path.expanduser()
函数将波浪号~
扩展到用户的实际主目录:
import os
with open(os.path.expanduser('~/Documents/data.csv'), 'r') as f:
print(f.read())
Pandas的read_csv()
为您做到了。
(警告:由于~
是Linux文件名中的有效字符,仅用~
替换os.getenv("HOME")
是一个很糟糕的主意...)