Python如何在没有完整路径的情况下打开文件

2024-10-03 15:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想在没有完整路径的情况下从文件中读取内容,我该怎么做? 我当前的代码

import json

file1= 'C:\\Users\\klaus\\OneDrive\\Desktop\\Script\\Mediamarktp.json'

with open(file1, 'r') as handle:
    json_out = json.load(handle)

profile_name = ['Profile1']

data = [x for x in json_out if x['profilename'] in profile_name]
email = (data[0]['email'])
password = (data[0]['password'])
website = (data[0]['website'])
precart = (data[0]['precart']=='True')
profilename1 = (data[0]['profilename1'])
proxy = (data[0]['proxy']=='True')

print(email)
print(password)
print(precart)

文件1目前是='C:\Users\klaus\OneDrive\Desktop\Script\Mediamarktp.json' 但是我想让我的脚本打开它,只需查找='\script\Mediamarktp.json' 像

file1 = 'C:\\*\\Script\\Mediamarktp.json'

我怎么做


Tags: jsondataemailscriptpasswordonedriveoutusers
2条回答

这与glob模块配合得很好

import glob
myFiles = glob.glob(r'C:\**\Mediamarktp.json, , recursive=True)

如果不使用recursive=True,它将不会搜索子文件夹。 但这实际上会找到所有具有该名称的文件,并搜索驱动器上的所有目录。因此,这将是非常缓慢的,这样做是不合理的。如果要使用glob,请将其限制为更合理的起始路径

另一种方法是将工作目录设置为包含该文件的路径

import os
os.chdir(myPath)

这样,您就可以直接用文件名打开文件。您还可以使用脚本的启动工作目录中的相对路径。如果你不确定它是什么,你可以使用它

print("Current Working Directory " , os.getcwd())

大多数操作系统中运行的程序都具有“当前工作目录”的概念。因此,当要求代码打开一个文件时,它可以是一个完整路径(如您的windows以“C:”开头),也可以是一个“相对路径”,这取决于文件相对于当前工作目录的位置

如果从命令提示符运行程序,则可以cd到正确的父目录(C:\\Users\\klaus\\OneDrive\\Desktop\\),然后仅使用相对路径访问文件。但它不能以\\开头

file1= 'Script\\Mediamarktp.json'

相关问题 更多 >