如何在不使用计算机的情况下运行使用其他文件夹和文件的python文件';这条路怎么走?

如何在不使用计算机的情况下运行使用其他文件夹和文件的python文件';这条路怎么走?,python,file,directory,Python,File,Directory,我的目标是运行一个python文件,该文件使用与python文件位于同一文件夹中的文件夹中的文件,但不考虑计算机的路径 现在的情况是,我必须在代码中定义路径,比如:C:/Users/path/to/files/等等 理想的情况是,我可以创建一个包含python文件的主文件夹(最好是zip文件夹),以及包含python文件正在使用的文件的必要文件夹。这样我就可以将主文件夹发送给任何人,他们应该能够运行python文件。 我还使用os库中的os.listdir(C:/path/to/folder)函

我的目标是运行一个python文件,该文件使用与python文件位于同一文件夹中的文件夹中的文件,但不考虑计算机的路径

现在的情况是,我必须在代码中定义路径,比如:C:/Users/path/to/files/等等

理想的情况是,我可以创建一个包含python文件的主文件夹(最好是zip文件夹),以及包含python文件正在使用的文件的必要文件夹。这样我就可以将主文件夹发送给任何人,他们应该能够运行python文件。

我还使用os库中的os.listdir(C:/path/to/folder)函数导入整个文件夹,但这也适用于计算机的路径。因此,需要另一种选择


有人知道我怎么能做到这一点,或者至少知道我能做到这一点吗

您可以使用它来获取当前Python文件使用的目录
abspath
dirname

this_dir = os.path.abspath(os.path.dirname(__file__))
然后,您可以使用
join
以独立于操作系统的方式构造相对路径:

some_image = os.path.join(this_dir, 'images', 'myimage.png')

您可以使用它来获取当前Python文件使用的目录
abspath
dirname

this_dir = os.path.abspath(os.path.dirname(__file__))
然后,您可以使用
join
以独立于操作系统的方式构造相对路径:

some_image = os.path.join(this_dir, 'images', 'myimage.png')

你可以这样做

import sys, os

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))


你可以这样做

import sys, os

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))


如果我理解正确,您希望在位于同一目录的子文件夹中的另一个文件中使用python脚本。我做对了吗? 如果是,您可以将其作为

from <folder name> import <file name>
来自导入的
如果我理解正确,您希望在位于同一目录的子文件夹中的另一个文件中使用python脚本。我做对了吗? 如果是,您可以将其作为

from <folder name> import <file name>
来自导入的


您可以使用标准库中的sys模块添加路径。我也可以像使用:os.listdir(C:/path/to/folder)一样创建文件夹路径吗?os.path.join()函数中的第二个参数意味着什么?您只需不断向其中添加路径的组件即可。因此,如果您想创建一个从当前目录到
\a\b\c.txt
的相对路径,您可以执行
os.path.join('a','b','c.txt')
,并且您引用的显式路径是
os.path.join('c:',os.sep','path','to','folder等等)
您可以使用标准库中的sys模块添加路径。我也可以像使用:os.listdir(C:/path/to/folder)一样创建文件夹路径吗?os.path.join()函数中的第二个参数意味着什么?您只需不断向其中添加路径的组件即可。因此,如果您想创建一个从当前目录到
\a\b\c.txt
的相对路径,您可以执行
os.path.join('a','b','c.txt')
,并且您引用的显式路径是
os.path.join('c:',os.sep','path','to','folder