获取当前文件路径 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__; //取得当前文件的路径:用魔术常量 __ ...
随机推荐
- SpringBoot 与 SpringSecurity
一.环境搭建 (1)IDEA创建SpringBoot工程 (2)导入依赖 (3)如果是thymeleaf项目 需导入thymeleaf整合security的依赖 (4)编写配置类(采用AOP横切入程序 ...
- [leetcode350]Intersection of Two Arrays II求数组交集
List<Integer> res = new ArrayList<>(); Arrays.sort(nums1); Arrays.sort(nums2); int i1 = ...
- Spring Cloud Eureka 简单创建
1.pom.xml 添加相关依赖 <dependency> <groupId>org.springframework.cloud</groupId> ...
- CSS解析
CSS(层叠样式表) CSS层叠样式表(Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. ...
- 一文掌握XSS
目录 XSS跨站脚本攻击 1.什么叫跨站脚本攻击? 2.XSS跨站脚本攻击的原理 3.XSS跨站脚本攻击的目的是什么? 4.XSS跨站脚本攻击出现的原因 5.XSS跨站脚本攻击的条件 1.有输入有输出 ...
- JVM调试说明
-XX:+<option>:表示开启option选项 -XX:-<option>:表示关闭option选项 -XX:<option>=<value>:表 ...
- Mono for android 访问Webservice和WebApi以及获取和解析JSON
先看效果,注意:(1)这里由于我的模拟器不支持中文输入,所以,对于这张效果图,我是直接在代码中写死了我的查询城市,在下面的代码中我是没有把要查询的城市写死的. (2)读者要想成功使用本示例的所有代码的 ...
- 鸿蒙HarmonyOS应用开发落地实践,Harmony Go 技术沙龙落地北京
12月26日,华为消费者BG软件部开源中心与51CTO Harmony OS技术社区携手,共同主办了主题为"Harmony OS 应用开发落地实践"的 Harmony Go 技术沙 ...
- java.io.NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord
kafka 与spark集成 序列化问题 sparkConf.set("spark.serializer", "org.apache.spark.serializer.K ...
- 使用Lists.partition切分性能优化
项目实战 影拓邦电影同步中,使用Lists.partition按500条长度进行切分,来实现es的同步. 切分的List为 使用介绍及示例 将list集合按指定长度进行切分,返回新的List<L ...