如何用open()打开特定路径?

时间:2018-05-17 22:55:14

标签: python python-3.x file path

我正在尝试使用python3套接字构建文件传输系统。我有连接和发送,但我现在的问题是发送的文件必须与程序在同一目录中,当你收到文件时,它只是将文件放入与程序相同的目录中。如何让用户输入要发送的文件的位置并选择要发送到的文件的位置?

4 个答案:

答案 0 :(得分:0)

我假设你打开文件:

open("filename","r")

如果不提供绝对路径,则open函数将始终默认为相对路径。所以,如果我想打开/mnt/storage/dnd/5th_edition.txt这样的文件,我会使用来使用:

open("/mnt/storage/dnd/4p5_edition","r")

如果我想将此文件复制到/ mnt / storage / trash /我会 使用绝对路径:

open("/mnt/storage/trash/4p5_edition","w")

如果相反,我决定使用它:

open("mnt/storage/trash/4p5_edition","w")

如果在我当前的文件夹中没有名为mnt的目录,其目录为storage / trash,那么我会得到一个IOError。如果那些文件夹 存在于我当前的文件夹中,那么它最终会在/ whatever / / path / is / to / my / current / directory / mnt / storage / trash / 4p5_edition中,而不是的/ mnt /存储/垃圾/ 4p5_edition。

答案 1 :(得分:0)

因为您说该文件将放在程序所在的同一路径中,所以以下代码可能会起作用

import os
filename = "name.txt"
f = open(os.path.join(os.path.dirname(__file__),filename))

答案 2 :(得分:0)

非常简单,只需从用户

获取路径即可
subpath = raw_input("File path =  ")
print subpath
file=open(subpath+str(file_name),'w+')
file.write(content)
file.close()

我想如果你需要别的东西,那么你需要的就告诉我。

答案 3 :(得分:0)

就像您说的那样,该文件应位于项目的同一文件夹中,因此您必须替换该文件,或定义一个函数以将正确的文件路径返回到open()函数中,这是您的一种方式可以用来减少寻找问题兄弟的解决方案的时间。

应该是这样的:

import os

filename = "the_full_path_of_the_fil/name.txt"
f = open(os.path.join(os.path.dirname(__file__),filename))

然后,您可以使用f变量的值作为文件所在目录的路径。

相关问题