假设我的文件结构如下:
folder1
--start.py
--file1.py
folder2
--file2.py
folderX
--fileX.py
...
在start.py中,我动态获取文件的名称,例如:
file_name = "file3"
我不知道“file3”在哪里,因为我没有得到它的文件路径。它可能与 start.py 或某些folder2、folderX 等位于同一文件夹中。 然后我需要动态导入“file3”,为此我需要知道它到 start.py 的相对路径。
import_module(f"{file_path}")
如何找到“file3”及其路径以便调用导入?
感谢您的回复,我是初学者,如果不清楚,很抱歉。尝试获取相对路径失败
**编辑:所有文件和文件夹都有随机名称,未排序 另外,folder1上面有一个文件结构,我只需要查看folder1内部即可。
这应该对你有帮助
import os
def find_file(root_folder, target_file):
for root, dirs, files in os.walk(root_folder):
if target_file in files:
return os.path.join(root, target_file)
return None
root_folder = '/path/to/unknown/root/folder'
target_file = 'file_name.txt'
file_path = find_file(root_folder, target_file)
if file_path:
print(f"File '{target_file}' found at: {file_path}")
else:
print(f"File '{target_file}' not found in the specified folder.")```