给定一个路径"mydir/myfile.txt",如何在Python中找到相对于当前工作目录的文件的绝对路径?例如在Windows上,我最终可能会:
"C:/example/cwd/mydir/myfile.txt"
Run Code Online (Sandbox Code Playgroud) 出于某种原因,我的代码无法打开一个简单的文件:
这是代码:
file1 = open('recentlyUpdated.yaml')
Run Code Online (Sandbox Code Playgroud)
错误是:
IOError: [Errno 2] No such file or directory: 'recentlyUpdated.yaml'
Run Code Online (Sandbox Code Playgroud)
open()的完整路径,似乎没有任何工作.我是一个Web应用程序开发菜鸟.我有一个打开文件并读取它的函数.不幸的是,测试服务器和生产服务器之间的目录结构不同.我被告知"使用相对于〜的路径".但是,我无法在'〜'上找到任何资源!
如何在路径上下文中使用波形符?
编辑:这是在Python中.我使用os.path.expanduser()修复了问题.
我在下面有这个代码将一些文本存储在主目录中的〜/ .boto文件中.
但我得到这个错误:
IOError: [Errno 2] No such file or directory: '~/.boto'
Run Code Online (Sandbox Code Playgroud)
这是代码:
file = open("~/.boto")
file.write("test")
file.close()
Run Code Online (Sandbox Code Playgroud) 在某些时候,波形符 ~ 不再被识别为我的主目录,仅在 Python 中如此。〜仍然可以在终端中使用,所以我不确定发生了什么,但任何有关如何修复它的见解都会为我节省一些打字时间,谢谢!
在 macOS Mojave 上
import os
tilde = '~'
print(os.path.exists(tilde))
os.system("if test -d ~; then echo 'exists'; fi")
Run Code Online (Sandbox Code Playgroud)
输出:
False
exists
Run Code Online (Sandbox Code Playgroud) 我在尝试使用Python 2.6在Mac OS X上列出目录中的所有文件/文件夹时遇到问题.
为了简化问题,我试图简单地列出桌面上的所有文件(非空).我明白这可以这样做:
currentFileList = os.listdir("~/Desktop")
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误:
currentFileList = os.listdir("~/Desktop")
OSError: [Errno 2] No such file or directory: '~/Desktop'
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我在目录中有一个文件 7.csv:~/Documents/Jane/analyst/test/1/。我能够使用 pandas.read_csv 函数读取这个文件,没有问题。
f_path = '~/Documents/Jane/analyst/test/1/7.csv'
pd.read_csv(f_path, index_col=None, header=0)
Run Code Online (Sandbox Code Playgroud)
但是当使用 os.path.isfile() 检查此文件是否存在时,结果返回 False。
os.path.isfile(f_path)
False
Run Code Online (Sandbox Code Playgroud)
可能的错误来源是什么?
创建了一个小的python脚本,用于将目录保存在当前用户下的side目录中.我在mac上运行,但生产是ubuntu
我的问题是它没有设法用主页符号识别目录〜
>>> os.path.exists('/Users/partuck/cache_dir/bla')
True
>>> os.path.exists('~/cache_dir/bla')
False
>>> os.system('echo "$USER"')
partuck
0
Run Code Online (Sandbox Code Playgroud) 我想在Python中创建一个目录.
这是我的代码:
dl_path = "~/Downloads/PDMB"
def main():
if not os.path.exists(dl_path):
print "path doesn't exist. trying to make"
os.makedirs(dl_path)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我希望pdmb在Download文件夹中$HOME(顺便说一句,我的操作系统是Ubuntu),但它使Home/Downloads/pdmb与我的代码所在的文件夹相同.
我该怎么办?
我尝试不为配置文件使用绝对路径,因为我需要在多个环境中部署该路径,这是我的最佳选择
以下代码是我尝试过的代码,它无法找到路径,但是我可以将文件放在同一位置。我在Redhat服务器上使用Python3.6。
with open("~/scripts/config.yml", 'r') as ymlfile:
cfg = yaml.load(ymlfile)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '~/scripts/config.yml'
Run Code Online (Sandbox Code Playgroud)