I'm a web application development noob. I have a function that opens a file and reads it. Unfortunately, the directory structures between the test and production servers differ. I was told to "use a path relative to ~". I haven't been able to find any resources on the '~', though!
How do I use the tilde character in the context of paths?
EDIT: This is in Python. I fixed the problem, using os.path.expanduser('~/path/in/home/area') .
it is your $HOME
var in UNIX, which usually is /home/username
.
"Your home" meaning the home of the user who's executing a command like cd ~/MyDocuments/
is cd /home/user_executing_cd_commnd/MyDocuments
Unless you're writing a shell script or using some other language that knows to substitute the value of $HOME
for ~
, tildes in file paths have no special meaning and will be treated as any other non-special character.
If you are writing a shell script, shells don't interpret tildes unless they occur as the first character in an argument. In other words, ~/file
will become /path/to/users/home/directory/file
, but ./~/file
will be interpreted literally (ie, "a file called file
in a subdirectory of .
called ~
").
Used in URLs, interpretation of the tilde as a shorthand for a user's home directory (eg, http://www.foo.org/~bob
) is a convention borrowed from Unix. Implementation is entirely server-specific, so you'd need to check the documentation for your web server to see if it has any special meaning.
如果您使用pathlib作为文件名,那么您可以在Windows和Linux上使用(我来这里是为了获得Windows答案):
python from pathlib import Path p = Path('~').expanduser() print(p)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.