问题标签 [os.path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
368 浏览

python - os.path.join(p1,p2) 省略 p1 的斜杠

我是业余程序员,所以请温柔。现在对于实际问题,我的一个用户遇到了这种奇怪的行为,其中os.path.join(p1,p2)返回一个相对路径,其中省略了所有斜杠p1。像这样(假装这是在 python cmd 行解释器中完成的):

然后输出是:

就在加入操作之前,我检查了 p1 和 p2 的内容,这正是我所期望的。这是有问题的实际实现以及一些额外的调试代码:

这是该代码的日志:

我完全不知所措,因为包含 os.path.join() 函数的编码函数不是原因,当他使用他的 python cmd 行解释器执行 os.path.join() 时,结果是正确的。如果有任何兴趣,我正在 2.5 中编写,而他正在 2.7.2 上执行代码。我希望有人能够对此有所了解。谢谢!

由于看起来我不能在评论中使用代码格式,我将在这里回答:

这是 save_path() 函数:

现在我必须添加的不是我的代码。我正在为一个名为 pyLoad 的开源项目写作。只是想确保我没有声称任何东西是我的代码,而实际上它不是。

编辑:Brendan Long 的回答似乎是准确的。在我的开发环境self.getConfig("subfolder")中是 on/True,而它似乎不适合我的用户。这样我就可以成功地重现该错误。我将发布该修复程序并让有问题的用户确认它有效,但到目前为止,这一切都指向save_path了罪魁祸首。也感觉有点像个白痴,因为忽略了显而易见的事情,真的。无论如何,谢谢,我会回复你的结果。

0 投票
1 回答
1604 浏览

python - os.path.join 每个文件夹生成 4 个反斜杠

我正在尝试编写一个函数,该函数在当前目录及其子文件夹中查找特定文件的第一个实例,并将相对路径作为字符串返回。

当我这样调用函数时:

在 Python 控制台中运行时收到此错误消息:

它找到了文件,但是所有这些额外的反斜杠是如何在文件路径中结束的呢?

注意:我使用的是 Windows 7 和 Python 2.7.3。

0 投票
3 回答
63548 浏览

python - Python 使用 os.path.join 加入当前目录和父目录

我想goal_dir在目录树中的某处加入当前目录路径和相对目录路径,所以我得到goal_dir. 这是我的尝试:

现在,如果当前目录是C:/here/I/am/,它将它们加入为C:/here/I/am/../../my_dir,但我想要的是C:/here/my_dir。似乎os.path.join没有那么聪明。

我怎样才能做到这一点?

0 投票
3 回答
25211 浏览

python - Python os.path.relpath 行为

我在目录bar中有一个目录foo,目录中有文件foo_file.txt,目录中有foo文件;IEbar_file.txtbar

使用 python os.path.relpath函数,我期望:

给我:

然而,它实际上给了我:

为什么是这样?有没有一种简单的方法来获得我想要的行为?

编辑:这是在带有 Python 2.7.3 的 Linux 上

0 投票
4 回答
5617 浏览

python - 在python中只获取当前目录而没有完整路径

如果这是一个已经解决的问题,我深表歉意。我想在运行 Python 脚本或在 Python 中获取当前目录。以下将返回包括当前目录的完整路径:

我还可以获得一直到当前目录的路径:

使用os.path.split将返回与上述相同的内容,加上当前文件夹,但最终我得到了一个我想要的对象:

有没有办法我可以得到我想要的东西,当前文件夹,而不创建任何我不想要的对象?或者,我可以用什么东西代替变量thing_I_dont_want来阻止它被创建(例如(*, thing_I_want))?

谢谢!

0 投票
2 回答
638 浏览

python - 我在访问其他文件夹中的 MIDI 文件时遇到问题

我的代码 Vincible.py 位于

我正在尝试访问位于

我整理了:

运行它后,它运行了 except 位,我正在努力弄清楚如何成功地做到这一点。我通常不会从 Python 中的不同路径访问文件,因此非常感谢您的帮助。

编辑:根据巧妙的要求,我从我的代码中删除了 try/except 。这是新代码:

这次推出:

该文件没有损坏,并且确实在

但它仍然返回此错误。我想这与我的使用有关

但话又说回来,我是 os.path 模块的新手。很感谢任何形式的帮助。

正如 Fredrik 建议的那样,我尝试将我的代码修改为:

注意:我删除了所有其他 .midi 文件以使代码更小/更具可读性,在问题解决后,它们将以正确的方式添加。

运行时,解释器在第 13 行(我加载“title.midi”)引发另一个 pygame.error “无法打开文件”。任何帮助表示赞赏。

0 投票
2 回答
2965 浏览

python - python 中的 os.path.join 返回“错误”路径?

我有以下来自 ipython 的 python os.path 输出

我发现输出 5、6、7 和 8 是违反直觉的。有人可以解释一下这种实施是否有特定原因吗?

0 投票
2 回答
867 浏览

python - 如何使用 raw_input 在 Python 中导入文件列表

我希望导入文件列表,例如:

我得到了这个结果

只有第一个文件(test_00.txt)是 True 因为位于正确的目录中

0 投票
1 回答
3108 浏览

python - Pandas pd.merge“类型错误:字符串索引必须是整数,而不是 str”

我已经广泛研究了这个简单的问题,但找不到答案。我正在尝试使用pd.merge基于名为“JN”的公共列的 pandas 合并两个文件。我相信它将我的“加入”(os.path.join)文件名视为字符串而不是数据帧/csv 文件。在我调用该pd.merge函数后,错误提示“字符串索引必须是整数,而不是 str”。

与上述 pd.merge 函数调用相关联,我收到此错误:

我想知道如何让它将我的文件名字符串作为实际文件或数据框读取。JJ 和 WW 等价于打印出来的完整路径。我尝试使用pd.DataFrame但无法制作这些“文件名”数据框。

0 投票
0 回答
520 浏览

python - Pygame:os.path.join() 坏了

在 Mac OSX 10.8.4 上更新 SDL 框架以修复 Mac 上的全屏问题后,我的图像不再加载。大多数情况下只看函数的顶部。

这在更新之前有效,但不再有效。尝试搜索甚至再次更新无济于事。我也试过...

...然后一张图片有效,然后第二张无效。所有文件夹和图像名称都经过三倍检查。我什至更改了名称和文件夹仍然没有运气。还有其他想法吗?

编辑:当我提到不加载图像时,我的意思是错误命令激活。还通过运行 os.getcwd 检查了正确的目录。