
概述
解析文件目录结构如下:
假设apppy中想读取configini文件的内容,首先apppy需要知道configini的文件路径,从目录结构上可以看出,configini与apppy的父目录同级,也就是获取到apppy父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上configini文件名就能获取到configini文件:
首先,在apppy中测试一下:
import os
def load_file():
# 获取当前文件路径
current_path = ospathabspath(__file__)
# 获取当前文件的父目录
father_path = ospathabspath(ospathdirname(current_path) + ospathsep + "")
# configini文件路径,获取当前目录的父目录的父目录与congigini拼接
config_file_path=ospathjoin(ospathabspath(ospathdirname(current_path) + ospathsep + ""),'configini')
print('当前目录:' + current_path)
print('当前父目录:' + father_path)
print('configini路径:' + config_file_path)
load_file()
#out:
从结果中可以看到一切都正常,没有什么问题,假如现在需要从mainpy中执行apppy的load_file()方法呢?
来测试一下:
mainpy(处于同级目录):
from binapp import load_file
if __name__=='__main__':
load_file()
#out:
可以看到,获取的路径是完全没有问题的
拓展内容python ospath 常用模块介绍
ospathabspath(path) 返回path规范化的绝对路径(但这个路径不一定是真实的路径),如果path仅是一个文件名,使用该函数后返回的路径是当前工作目录路径连接改文件名后所组成的新的路径名。
>>> import ospath
>>> ospathabspath("apy")
'C:\\Users\\Administrator\\apy'
ospathsplit(path) 将path分割成目录和文件名二元组返回
>>> ospathsplit("C:\\Users\\Administrator\\apy")
('C:\\Users\\Administrator', 'apy')
ospathdirname(path) 返回path的目录,其实就是ospathsplit(path)的第一个元素
>>> ospathdirname("C:\\Users\\Administrator\\apy")
'C:\\Users\\Administrator'
ospathbasename(path) 返回path最后的文件名。如果path以/或\结尾,就会返回空值。即ospathsplit(path)的第二个元素。
>>> ospathbasename("C:\\Users\\Administrator\\apy")
'apy'
ospathcommonprefix(list) 返回list中所有path共有的最长的路径,从左向右,相同字符。
ospathexists(path) 如果path存在,返回True;如果path不存在,返回False。
ospathisabs(path) 如果path是绝对路径,返回True。
ospathnormpath(path) 规范path字符串形式(规范文件路径)
ospathisfile(path) 判断路径是否为文件,是返回True,否则返回False
ospathisdir(path) 如果path是一个存在的目录,返回True,否则返货False。
ospathislink(path) 是否是链接;但如果系统不支持链接,则返回False。
# __ coding: utf-8 __
import pandas as pd
# 获取文件的内容
def get_contends(path):
with open(path) as file_object:
contends = file_objectread()
return contends
# 将一行内容变成数组
def get_contends_arr(contends):
contends_arr_new = []
contends_arr = str(contends)split(']')
for i in range(len(contends_arr)):
if (contends_arr[i]__contains__('[')):
index = contends_arr[i]rfind('[')
temp_str = contends_arr[i][index + 1:]
if temp_str__contains__('"'):
contends_arr_newappend(temp_strreplace('"', ''))
# print(index)
# print(contends_arr[i])
return contends_arr_new
if __name__ == '__main__':
path = 'eventtxt'
contends = get_contends(path)
contends_arr = get_contends_arr(contends)
contents = []
for content in contends_arr:
contentsappend(contentsplit(','))
df = pdDataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])
扩展资料:
python控制语句
1、if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
2、for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
3、while语句,当条件为真时,循环运行语句块。
4、try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
5、class语句,用于定义类型。
6、def语句,用于定义函数和类型的方法。
import
os
d=文件夹路径
l=oslistdir(d)
则l就是文件夹里所以子文件夹和文件的列表,可以通过ospathisfile和ospathisdir来对列表里的项进行判断看是文件还是文件夹。
不清楚你的问题是什么?是指在程序当中获取本程序的文件名称吗?可以使用sysargv来传递这个参数。
例如,建立一个Python代码文件,起名为self_knownpy。内含以下内容:
import sysprint sysargv[0]
运行这个文件:
python self_knownpy可以发现运行结果就是文件名称:
self_knownpy在运行Python代码时,不仅可以送入“文件名称”一个参数,还可以送入更多参数:
python self_knownpy arg1 arg2 arg3此时,在代码文件中可以这样得到这些参数:
print sysargv[0]print sysargv[1]
print sysargv[2]
print sysargv[3]
以上就是关于python文件名获取文件路径全部的内容,包括:python文件名获取文件路径、python如何读取文件的内容、python怎样获取当前打开的文件的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)