获取当前文件路径 import 原理 一般把模块组成的集合称为包(package)
获取当前文件路径
testpath.py
import sys
print(sys.path)
[root@d mapReduceLog]# python testpath.py
['/data/mapReduceVisitorLog/mapReduceLog', '/root/anaconda3/lib/python35.zip', '/root/anaconda3/lib/python3.5', '/root/anaconda3/lib/python3.5/plat-linux', '/root/anaconda3/lib/python3.5/lib-dynload', '/root/anaconda3/lib/python3.5/site-packages', '/root/anaconda3/lib/python3.5/site-packages/Sphinx-1.4.6-py3.5.egg', '/root/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg']
[root@d mapReduceLog]# cd /
[root@d /]# python /data/mapReduceVisitorLog/mapReduceLog/testpath.py
['/data/mapReduceVisitorLog/mapReduceLog', '/root/anaconda3/lib/python35.zip', '/root/anaconda3/lib/python3.5', '/root/anaconda3/lib/python3.5/plat-linux', '/root/anaconda3/lib/python3.5/lib-dynload', '/root/anaconda3/lib/python3.5/site-packages', '/root/anaconda3/lib/python3.5/site-packages/Sphinx-1.4.6-py3.5.egg', '/root/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg']
[root@d /]# cd ~
[root@d ~]# python /data/mapReduceVisitorLog/mapReduceLog/testpath.py
['/data/mapReduceVisitorLog/mapReduceLog', '/root/anaconda3/lib/python35.zip', '/root/anaconda3/lib/python3.5', '/root/anaconda3/lib/python3.5/plat-linux', '/root/anaconda3/lib/python3.5/lib-dynload', '/root/anaconda3/lib/python3.5/site-packages', '/root/anaconda3/lib/python3.5/site-packages/Sphinx-1.4.6-py3.5.egg', '/root/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg']
[root@d ~]#
当前文件路径
sys.path[0] 为绝对路径,与执行路径无关
获取输入,并对下一个脚本命令行传入参数,执行下一个脚本
D:\bizPythonDouban\onlinePolly\mapReduceLog\osSysInput.py
from tools import getNow
import os, sys
this_file_abs_path = sys.path[0]
sh_, nodes = 'ssh {} "scp /data/visitlog/{} root@d:/data/mapReduceVisitorLog/{}/"', ['a', 'b', 'c']
inputDate = sys.argv[0]
inputDate = inputDate.upper()
if inputDate == 'TODAY':
Ymd = '%Y-%m-%d'
today = getNow(format_=Ymd)
for i in nodes:
cmd_ = sh_.format(i, '*{}'.format(today), i)
print(cmd_)
os.system(cmd_)
cmd_ = 'python {}{}mapReduceBatchDeleteLoopDateSysInput.py {} {} '.format(this_file_abs_path, os.sep, today, today) # 对下一个脚本命令行传入参数
print(cmd_)
os.system(cmd_)
mapReduceBatchDeleteLoopDateSysInput.py
from tools import *
import math, sys
dateFrom, dateEnd = sys.argv[1], sys.argv[2]
mktimeFrom, mktimeEnd = date2mktime(dateFrom), date2mktime(dateEnd)
db_operation_step = 3000
print(mktimeFrom, mktimeEnd)
Python中import的用法 - 知乎
https://zhuanlan.zhihu.com/p/63143493
import module_name。即import后直接接模块名。在这种情况下,Python会在两个地方寻找这个模块,第一是sys.path(通过运行代码import sys; print(sys.path)查看),os这个模块所在的目录就在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是要将Python的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接import即可。第二个地方就是运行文件(这里是m1.py)所在的目录,因为m2.py和运行文件在同一目录下,所以上述写法没有问题。
用上述方法导入原有的sys.path中的库没有问题。但是,最好不要用上述方法导入同目录下的文件!因为这可能会出错。
故事是从这篇台湾同胞的博客(Python 的 Import 陷阱)开始的,然后又跳到了Python社区的PEP 328提案(PEP 328 -- Imports: Multi-Line and Absolute/Relative),再结合过去的经验以及一些测试,我想我大概懂了吧。下面是我的总结,希望内容能够言简意赅、易于理解。
Python中import的用法 - 知乎https://zhuanlan.zhihu.com/p/63143493
总结import语句的第二种用法:
from package_name import module_name。一般把模块组成的集合称为包(package)。与第一种写法类似,Python会在sys.path和运行文件目录这两个地方寻找包,然后导入包中名为module_name的模块。
获取当前文件路径 import 原理 一般把模块组成的集合称为包(package)的更多相关文章
- python获取当前文件路径
python获取当前文件路径 学习了:https://www.cnblogs.com/strongYaYa/p/7200357.html https://blog.csdn.net/heatdeath ...
- java获取classpath文件路径空格转变成了转义字符%20的问题
java获取classpath文件路径空格转变成了转义字符%20的问题 这个问题很纠结,服务器的文件路径带有空格,空格被转化是%20了,悲剧就出现了 下面展示一段代码String path = get ...
- 如何获取启动文件路径 GetModuleFileName
如何获取启动文件路径 GetModuleFileName CString GetExeDirPath() { }; CString strExeDirPath; GetModuleFileName(N ...
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
Atitit,通过pid获取进程文件路径 java php c#.net版本大总结 1. 通过PID获取进程路径的几种方法2 1.1. GetModuleFileNameEx 想获得进程可执行文件的 ...
- Application.StartupPath获取执行文件路径substring()取特定长度字符串取得根目录
Application.StartupPath获取执行文件路径substring()取特定长度字符串取得根目录 2012-07-20 10:48 257人阅读 评论(0) 收藏 举报 path usi ...
- java获取当前文件路径 [转]
1.如何获得当前文件路径 常用: 字符串类型:System.getProperty("user.dir"); 综合: package com.zcjl.test.base; imp ...
- wpf 前台获取资源文件路径问题
1 <ImageBrush ImageSource="YT.CM.CommonUI;component/Resource/FloadwindowImage/middle.png&quo ...
- iOS 根据文件名获取到文件路径
根据文件名来获取文件路径(Document目录下) //根据文件名来获取文件路径 - (NSString *)dataFilePath:(NSString *)sender { NSArray *pa ...
- PHP获取当前文件路径信息的方法
文件名 test.php 1.__FILE__ 获取 “路径 + 文件名” : /var/www/test/test.php echo __FILE__; //取得当前文件的路径:用魔术常量 __ ...
随机推荐
- [LeetCode]Subtree of Another Tree判断一棵树是不是另一棵树的子树
将树序列化为字符串,空节点用符号表示,这样可以唯一的表示一棵树. 用list记录所有子树的序列化,和目标树比较. List<String> list = new ArrayList< ...
- Javaweb前台界面代码复用总结
servlet声明定义message信息传给前天界面判断输出message: if(booknamelist.size()==0) { message="根据书名查询没有结果!"; ...
- Centos7 编译安装PHP7.2
yum install wget 在 /usr/local/src 目录下载php源码包 wget http://cn2.php.net/distributions/php-7.2.4.tar.gz ...
- <input type="image">表单提交2次 重复插入数据问题
写一个表单提交用到图片:两种代码. <input type="image" src="xxx.gif"onclick="return dosub ...
- DEDECMS自动编号(序号)autoindex属性(转)
版权声明:本文为博主原创文章,未经博主允许不得转载. 让织梦dedecms autoindex,itemindex 从0到1开始的办法! 1 2 3 [field:global name=autoin ...
- Linux LVM Logical Volume Management 逻辑卷的管理
博主是一个数据库DBA,但是一般来说,是不做linux服务器LVM 逻辑卷的创建.扩容和减容操作的,基本上有系统管理员操作,一是各司其职,专业的事专业的人做,二是做多了你的责任也多了,哈哈! 但是li ...
- 用python+sklearn(机器学习)实现天气预报数据 模型和使用
用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...
- mysql 应用 持续更新2 转载
作者:彼岸Queen旅行链接:https://www.zhihu.com/question/27334963/answer/266624031来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...
- 万万没想到,JVM内存区域的面试题也可以问的这么难?
二.Java内存区域 1.Java内存结构 内存结构 程序计数器 当前线程所执行字节码的行号指示器.若当前方法是native的,那么程序计数器的值就是undefined. 线程私有,Java内存区域中 ...
- (解决)easypoi模板导出多个excel文件并压缩
目录 easypoi版本--3.1.0 实现代码 后语 easypoi版本--3.1.0 实现代码 public void export(HttpServletResponse response, H ...