精华内容
下载资源
问答
  • 写Python代码的时候,如果一个包(package)里面一个模块要导入另一个模块,那么我们可以使用相对导入:假设当前代码结构如下图所示:img其中test_1是一个包,在util.py里面想导入同一个包里面read.py中的read...

    我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入:

    假设当前代码结构如下图所示:

    img

    其中test_1是一个包,在util.py里面想导入同一个包里面的read.py中的read函数,那么代码可以写为:from .read import read

    def util():

    read()

    其中的.read表示当前包目录下的read.py文件。此时read.py文件中的内容如下:def read():

    print('阅读文件')

    通过包外面的main.py运行代码,运行效果如下图所示:

    img

    现在,我们增加一个数据文件,data.txt,它的内容如下图所示:

    img

    并且想通过read.py去读取这个数据文件并打印出来。

    修改read.py,试图使用相对路径来打开这个文件:def read():

    with open('./data.txt', encoding='utf-8') as f:

    text = f.read()

    print(text)

    运行代码发现报错:

    img

    这个原因很简单,就是如果数据文件的地址写为:./data.txt,那么Python就会从当前工作区文件夹里面寻找data.txt。由于我们运行的是main.py,那么当前工作区就是main.py所在的文件夹,而不是test_1文件夹。所以就会出现找不到文件的情况。

    为了解决这个问题,我们有三种解决方式。使用绝对路径def read():

    with open('/Users/kingname/Project/DataFileExample/test_1/data.txt', encoding='utf-8') as f:

    text = f.read()

    print(text)

    运行效果如下图所示:

    img先获取read.py文件的绝对路径,再拼接出数据文件的绝对路径:import os

    def read():

    basepath = os.path.abspath(__file__)

    folder = os.path.dirname(basepath)

    data_path = os.path.join(folder, 'data.txt')

    with open(data_path, encoding='utf-8') as f:

    text = f.read()

    print(text)

    运行效果如下图所示:

    img使用pkgutil库import pkgutil

    def read():

    data_bytes = pkgutil.get_data(__package__, 'data.txt')

    data_str = data_bytes.decode()

    print(data_str)

    运行效果如下图所示:

    img

    pkgutil是Python自带的用于包管理相关操作的库,pkgutil能根据包名找到包里面的数据文件,然后读取为bytes型的数据。如果数据文件内容是字符串,那么直接decode()以后就是正文内容了。为什么pkgutil读取的数据文件是bytes型的内容而不直接是字符串类型? 这是因为并不是所有数据文件都是字符串,如果某些数据文件是二进制文件或者图片,那么以字符串方式打开就会导致报错。所以为了通用,pkgutil会以bytes型方式读入数据,这相当于open函数的“rb”读取方式。

    使用pkgutil还有一个好处,就是只要知道包名就可以找到对应包下面的数据文件,数据文件并不一定要在当前包里面。

    例如修改代码结构如下图所示:

    img

    另一个包test_2里面有一个数据文件data2.txt。此时如果要在teat_1包的read.py中读取data2.txt中的内容,那么只需要修改pkgutil.get_data的第一个参数为test_2和数据文件的名字即可,运行效果如下图所示:

    img

    而前两种方法都不如pkgutil简单。

    所以使用pkgutil可以大大简化读取包里面的数据文件的代码。

    展开全文
  • 以前的Android(4.1之前的版本),SDcard路径通过“/sdcard”或者“/mnt/sdcard”来表示,而在JellyBean...今天我们就简单介绍几种访问SDcard路径的几种方式: 本次演示获取的图片路径如下: 完整路径为“/storage/emul
  • 文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在程序代码中通过路径可以表示链接,插入图像、JS、CSS等文件的位置。 物理路径:物理路径就是硬盘上文件的路径,比如下面的文件...

     文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在程序代码中通过路径可以表示链接,插入图像、JS、CSS等文件的位置。

    物理路径:物理路径就是硬盘上文件的路径,比如下面的文件:

    d:\Longeren\Feng\1.html

    d:\Longeren\Feng\first\2.html

    d:\Longeren\Feng\first\3.html

    d:\Longeren\Feng\first\second\4.html 下面的例子使用了上面四个文件进行了相互链接,

    相对路径(Relative Path)

    如何表示同级目录的文件

    2.html和3.html在同一个文件夹下, 如果2.html链接到3.html,可以在2.html中这样写:

    <a href="3.html">同目录下文件间互相链接</a> 如何表示上级目录的文件

    1.html是2.html和3.html的上级目录中的文件,如果2.html或3.html链接到1.html,可以在2.html或3.html中这样写

    <a href="../1.html">链接到上级目录中的文件</a> ../ 代表一级上级目录(间隔一个目录) http://www.cnblogs.com/代表二级上级目录(间隔两个目录),比如4.html链接到1.html,可以在4.html中这样写

    <a href="http://www.cnblogs.com/1.html">链接到上级目录的上级目录中的文件</a> 如何表示下级目录的文件

    2.html和3.html是1.html的下级目录中的文件,如果在1.html中链接到2.html, 可以在1.html中这样写

    <a href="first/2.html">链接到下级目录(first)中的文件</a> 如果在1.html中链接到4.html,可以在1.html中这样写

    <a href="first/second/4.html">链接到下级目录(first/second/)中的文件</a> 绝对路径(Absolute Path)

    绝对路径就是带有网址的路径,比如你有一个域名www.Longeren.com,和一个网站空间,上面的四个文件就可以这么表示。

    <a href="http://www.Longeren.com/Feng/1.html">链接到1.html</a> <a href="http://www.Longeren.com/Feng/first/2.html">链接到2.html</a> <a href="http://www.Longeren.com/Feng/first/3.html">链接到3.html</a> <a href="http://www.Longeren.com/Feng/first/second/4.html">链接到4.html</a> 根目录

    使用根目录的方式表示的路径和绝对路径的表示方式相似,去掉前面的域名就可。

    比如:

    <a href="/Feng/1.html">链接到1.html</a> <a href="/Feng/first/2.html">链接到2.html</a>

    转载于:https://www.cnblogs.com/Longeren/archive/2013/01/01/Longeren1.html

    展开全文
  • 文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在程序代码中通过路径可以表示链接,插入图像、JS、CSS等文件的位置。物理路径:物理路径就是硬盘上文件的路径,比如下面的文件:d...

    文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在程序代码中通过路径可以表示链接,插入图像、JS、CSS等文件的位置。

    物理路径:物理路径就是硬盘上文件的路径,比如下面的文件:

    d:\Longeren\Feng\1.html

    d:\Longeren\Feng\first\2.html

    d:\Longeren\Feng\first\3.html

    d:\Longeren\Feng\first\second\4.html 下面的例子使用了上面四个文件进行了相互链接,

    相对路径(Relative Path)

    如何表示同级目录的文件

    2.html和3.html在同一个文件夹下, 如果2.html链接到3.html,可以在2.html中这样写:

    同目录下文件间互相链接 如何表示上级目录的文件

    1.html是2.html和3.html的上级目录中的文件,如果2.html或3.html链接到1.html,可以在2.html或3.html中这样写

    链接到上级目录中的文件 ../ 代表一级上级目录(间隔一个目录) http://www.cnblogs.com/代表二级上级目录(间隔两个目录),比如4.html链接到1.html,可以在4.html中这样写

    链接到上级目录的上级目录中的文件 如何表示下级目录的文件

    2.html和3.html是1.html的下级目录中的文件,如果在1.html中链接到2.html, 可以在1.html中这样写

    链接到下级目录(first)中的文件 如果在1.html中链接到4.html,可以在1.html中这样写

    链接到下级目录(first/second/)中的文件 绝对路径(Absolute Path)

    绝对路径就是带有网址的路径,比如你有一个域名www.Longeren.com,和一个网站空间,上面的四个文件就可以这么表示。

    使用根目录的方式表示的路径和绝对路径的表示方式相似,去掉前面的域名就可。

    比如:

    链接到1.html 链接到2.html

    展开全文
  • //b1这个实例(按钮等)添加事件监听接口,this表示当前类对象,在一个类里,你不需要new他实例就直接可以用this调用它方法和属性 area = new JTextArea(); pane = new JScrollPane(area); Label lb2 = ...
  • 一.问题描述 Duilib一般通过加载写好xml文件显示界面,...在创建duilib窗口之前,设置主程序句柄,如下代码,在注释1,2,3中分别表示了主程序句柄设置过程,这一步是必要,因为代码中继承自duilib通用窗口类.

    一.问题描述

    Duilib一般通过加载写好的xml文件显示界面,xml中包含了各种资源图片以及显示属性等,最近使用时遇见两个问题,第一个就是没有设置duilib的主程序句柄,导致加载xml文件时找不到相对路径。第二个问题就是在一个程序中多个界面的xml只能放在同一个文件夹,不能一个xml一个文件夹这种方式

    二.解决方法

     

    问题1解决方法

    在创建duilib窗口之前,设置主程序句柄,如下代码,在注释1,2,3中分别表示了主程序句柄的设置过程,这一步是必要的,因为代码中继承自duilib的通用窗口类WindowImplBase的GetSkinFolder函数指定的路径是相对于此处主程序模块的所在路径。

    其实这里也可以不设置主程序路径,而在GetSkinFolder函数下指定xml文件的绝对路径即可。

    但是还是第一种设置主程序句柄的方式比较方便。

    bool CXCalculatorUI::CalcCreatDlg(int x, int y, int width, int height, HWND hwnd)
    {
    	//获取主程序句柄(代表主程序内存的基地址,hwnd表示的是一个窗口的句柄,即一个窗口资源的基地址),并在后续初始化使用,否则会出现找不到资源文件,导致断言失败
    	HINSTANCE hInstance = GetModuleHandle(NULL);   //1 获取主程序句柄
    	CPaintManagerUI::SetInstance(hInstance);       //2 在duilib中设置主程序句柄
    	
    	CWndShadow::Initialize(hInstance);             //3 初始化操作
    	if (pCalcDlg != NULL)
    	{
    		::ShowWindow(*pCalcDlg, SW_SHOW);
    		return true;
    	}
    
    	pCalcDlg = new CMainFrame();
    	if (pCalcDlg == NULL)
    		return false;
    
    
    	DWORD dwStyle = UI_WNDSTYLE_FRAME;
    	dwStyle = dwStyle^WS_MAXIMIZEBOX;
    
    #if defined(WIN32) && !defined(UNDER_CE)
    	pCalcDlg->Create(hwnd, _T("Calc计算"), UI_WNDSTYLE_CHILD, WS_EX_STATICEDGE | WS_EX_APPWINDOW, x, y, 0, 0);
    #else
    	pDialog->Create(NULL, _T("PIN库计算"), dwStyle | WS_POPUP, NULL, 0, 0, 0, 0);
    #endif
    
    	return true;
    }

    问题2解决方法

    假如一个程序包含多个duilib显示界面,每一个界面对应一个xml文件,此时多个xml文件应该共同放在一个目录之下,比如skin目录,而且xml文件必须放在当前skin目录,其他一些资源文件(图片,视频等)可以在skin目录下新建子目录存放。

    为什么这样呢,通过调试代码发现,在duilib加载第一个xml并且创建显示界面的时,会读取该xml文件的所在目录,并以此目录为默认目录,在下次加载第二个xml文件并且创建时并不会重新刷新这个目录,而是在这个目录下继续查找第二个xml文件,如果此时单独指定第二个xml文件的路径并不会生效,而是以第一个加载的xml文件的坐在目录为准,所以,每个界面的xml文件必须保持在一个文件夹下。

    这种方式也可以更改,修改一下duilib的源代码即可,但是感觉没必要,所有的xml文件放在一个目录下,比较方便维护,更整洁,更人性化,因此还是遵照这种方式。

    展开全文
  • 正确写法应该是使用”path.join()”的方式实现:(__dirname表示当前文件的目录名) //require 表示引包,引包就是引用自己一个特殊功能 var http = require("http"); var path = require("path"); var fs = ...
  • 上传文件时服务器路径问题

    千次阅读 2018-02-02 15:44:51
    在上传文件到服务器上时,上传到服务器的文件不能在指定目录下获取,主要是在java代码中设置的文件路径问题。 获取本地路径的几种方式 1.项目目录下建立excel文件夹存入上传文件 1.1得到当前的classpath的绝对...
  • 项目开发中文件的读写是必不可少 下面来简单介绍一下文件读 读文件,首先我们要有文件 那我首先自己创建了一个文本文件password.txt 内容如下: 下面先贴上代码,然后对其进一步解释: # coding:utf-8 path =...
  • 文件路径就是文件在电脑(服务器)的位置,表示文件路径的方式有两种:相对路径和绝对路径。 路径标识: 标识符号 说明 / 路径标识 . 当前目录 … 上一层目录 “.”和“…”常与“/”结合使用表示各个路径层次: ...
  • 在Java采用Matlab JA Builder可以实现调用m文件,采用这样的方式,可在MatlabM文件中,直接调用Java类。这种方式可以表示为Java--> Matlab( m, Java),即整个程序由Java启动。那如何使用Matlab直接调用Java...
  • Java路径问题

    2016-10-24 20:49:24
    本篇文章的部分代码0. 环境介绍在Java应用程序特别是JavaWeb程序,我们经常需要访问本程序下的文件或者外部的文件,但是如何组织文件路径信息才可以更好的... Java路径介绍在Java处理的文件系统,目录的表示方式
  • 在vue使用pdf.js如何使用显示方式出现问题 如何使用 首先去官网下载压缩包...// 直接通过/路径引入,vue/路径就是public下的文件,此处href用了vue属性绑定,使用url变量 <a target="_blank" :href="'/p
  • VC++(VS2010)读写Excel文件代码(附示例)

    千次下载 热门讨论 2014-11-22 13:27:24
    //获取文件路径 CFileDialog* lpszOpenFile; CString szGetName; lpszOpenFile = new CFileDialog(TRUE,"","",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,"Excel File(*.xlsx;*.xls)|*.xls;*.xlsx",NULL); ...
  • ◆◆以下是文件a.html引用css的方式 Java代码 收藏代码 a.css: 表示a.css和a.html处于同一个目录 ./a.css: 表示a.css和a.html处于同一个目录 styles/a.css: 表示a.css位于a.html所在...
  • Qt下路径问题浅谈

    2020-05-30 23:30:01
    我们需要利用某一文件夹路径,对路径下的某文档进行操作,这就需要我们得到该路径的具体表示方式,例如下面就是通过得到已存在的路径:D:/参数表/Un参数表.xlsx来对该路径的excel文件进行打开操作,代码如下: ...
  • 这个引入路径表示这个脚本文件是从网站根目录开始绝对路径。 <script src="./script.js"></script> 引入脚本是相对于当前页面相对路径。 引入脚本文件的好处 只有简单js代码写在...
  • vue项目,经常需要引入文件,正常情况下都是使用相对路径进行引用,如下图 这样引用方式不便于路径查看,且引入是容易写错 可以使用自定义路径解决这...此处引用地址中的@就表示src路径 转载于:htt...
  • 在Java采用Matlab JA Builder可以实现调用m文件,采用这样的方式,可在MatlabM文件中,直接调用Java类。这种方式可以表示为Java--&gt; Matlab( m, Java),即整个程序由Java启动。   那如何使用Matlab直接...
  • 配置启用总体有两种方式:1.显式代码加载;2.配置使用;显式代码加载1.在系统启动开始直接启用;... 该函数有可选参数:fileName表示配置文件路径;2.在要添加系统中的程序集文件 properities/...
  • java.nio.file.Path的toAbsolutePath()方法用于返回表示该路径对象的绝对路径的Path对象。如果该路径已经是绝对路径,则该方法返回path,否则该方法通过针对文件系统默认目录解析路径以implementation-dependent方式...
  • 如果这种方式下依旧无法运行,看下自己jdk有没有配置好,这个不是eclipse和idea能执行java代码表示路径已经配置好了,可以打开cmd输入java看下有没有输出内容来判断路径配置成功与否。 在..
  • 通过给实体类定义别名,简化了在映射xml中的调用代码的书写量 给实体类定义别名为users 将原来出参resultType入参parameterType所要调用路径mybatis.pojo.Users改为所定义别名users 还可以批量为实体类...
  • 输入路径 路径的 三种表示方式 判断文件是否存在 创建文件 判断是否是文件夹 文件夹的删除 (空文件夹可删 文件夹不为空 删除失败) 列出文件夹内所有文件名(仅是当前目录 不能更深一层) 列出所有的文件 以...
  • Java文件操作

    2020-11-12 16:29:30
    相对于某个基准目录或文件的路径,./表示当前路径,…/表示上级目录。 绝对路径: 储存在硬盘上真正路径。 Windows路径分割符: \表示Windows系统文件目录分隔符。 \是反斜杠,在代码中用来转义,例如\n代表...
  • 在下述程式代码中,函数MakeThumbImage(string sPath, string stPath, int nWidth, int nHeight, string sMode)创建上传文件的缩略图。其中,参数sPath表示源图路径、参数stPath表示缩略图的路径、参数nWidth表示...
  • 2. 在open中的第一个文件名的的参数,包含的路径表示虽然可以根据不同环境使用斜杠和反斜杠,但在Python路径时,斜杠都是正确。 3. file(流对象,open默认模式下返回值)一些方法,使

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 323
精华内容 129
关键字:

代码中文件路径的表示方式