python的一些文件操作

1. python文件调用另一个python文件,并获取文件中的输出值

主要实现两个
1.B文件获取C文件中的输出结果
2.用C文件使用argparse获取命令行参数
如下两个文件

processB.py

import os
import sys
command = 'python processC.py --ip=172.18.18.18 --flag=dv --log=True'
# 执行命令
f = os.popen(command)
# 获取processC.py文件中的输出
results = f.readlines()
# 打印结果
for res in results:
    sys.stdout.write(res)
    sys.stdout.flush()
# 关闭流
f.close()

processC.py

import sys
import argparse
# 打印所有参数
def show_argv():
    print(sys.argv)
# 带有名字的参数
def get_args():
    parser = argparse.ArgumentParser(usage="prop tip",description="help info")
    parser.add_argument("--ip",default='172.18.18.152',help="ip")
    parser.add_argument("--flag",choices=['dev','prod'],default='prod',help='environment')
    parser.add_argument("--log",default=False, help='environment')
    parser.add_argument("--port", help='port')
    return parser.parse_args()
if __name__ == '__main__':
    args = get_args()
    print(args)
    show_argv()

打印结果
在这里插入图片描述
在processC文件中,可以直接通过args.flag获取结果(去掉–)

2. 判断文件、目录是否存在

import os
# 路径可以为相对路径也可以为绝对路径
# 相对路径上一级为 ../xxx
# 相对同级为 xxx 或者 ./xxx
path = /root/config.json
# 判断文件、目录是否存在
os.path.exists(path)  # True
# 判断该路径是否为文件
os.path.isfile(path)  # True
# 判断该路径是否为目录
os.path.isdir(path)  # False

3. 创建目录

# 创建多级目录,即使某层目录没有也可以建出来
os.makedirs('/test/test/test')
# 创建单层目录
os.mkdir('/test')

4. 获取目录下的文件、文件夹

# 获取当前文件路径
path = os.getcwd()   # /home
# 如果目录名字为中文 需要转码处理
path = unicode(path ,'utf-8')
# 获取某路径下这一层的所有文件或目录名称  注意:是名称,不是路径
for fileOrDir in os.listdir(path):
	print(fileOrDir)

在这里插入图片描述

5. 获取运行时间

start = timeit.default_timer()
run()
end = timeit.default_timer()
print('Running time: %s Minutes' % ((end - start)/60.0))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值