Python中注意事项(待完善)

动态导入模块:

    python 中不仅可以用过import 在开头导入其他模块, 可以通过代码动态导入模块,获取模块对象,从而调用其他模块的函数或者方法,

    格式如下:

# import frame_name --->找frame_name.py
    frame = __import__(frame_name)  # 返回值标记这 导入的这个模板
    app = getattr(frame, app_name)  # 此时app就指向了 frame_name模块中的app_name这个函数

从命令行中传入参数:

    运行python程序:python3 xxx.py  , 这个后面是可以接一些参数的,并且通过代码可以获取这部分的参数值;通过sys模块中的 属性argv 可以获取参数的列表

读取配置文件:

    在python程序中可以读取通过with open 来打开配置文件,在通过eval 函数将内容读取出来,如下:

    with open("./web_server.conf") as f:
        conf_info = eval(f.read())

    # 此时 conf_info是一个字典里面的数据为:
    # {
    #     "static_path":"./static",
    #     "dynamic_path":"./dynamic"
    # }

Python 中的Json 模块


In [1]: import json

In [2]: json.load(open("1.config"))
Out[2]: {'a': '1', 'b': '2'}

In [3]: f = open("2.config")

In [4]: c = f.read()

In [5]: json.loads(c)
Out[5]: {'a': 1, 'b': 2}

In [6]: f.close()

In [9]: json.dump({"name":"laowang","age":"18"}, open("3.config","w"))

   在其中主要使用的方法为json.loads和json.dumps

    注意在loads中参数必须为string,从而在打开文件的时候,要使用read方法,否则会出错。

    loads方法主要是用来加载json数据变成python中的对象,而dumps方法主要是将python对象修

改成json格式。

    

Python中读取文件大小

# f.seek(num, 0) # 相对文件起始位置偏移num个字节, 常用于将文件指针定位到起始位置
# f.seek(num, 1) # 相对于文件针当前位置偏移num个字节
# f.seek(num, 2) # 相对于文件末尾位置偏移num个字节


# seek函数说明:
# seek(p1, p2)
# 参数: p1 --> 相对偏移量, 整数, 文件以二进制打开可以为负数
#       p2 --> 文件位置: 0 表示文件指针起始位置
# 1 表示文件指针的当前位置
# 2 表示文件末尾


tell() 函数 也可以读出文件大小

f = open("1.txt", "rb")

f.seek(5, 0) # 相对于文件起始位置偏移5个字节
print("读到的一个字节是: ", f.read(1)) # 读一个字节, 结果是 “f”

absolute_pos = f.tell() # 返回当前文件指针的绝对偏移位置
print("当前文件指针的绝对偏移位置是: %s" % absolute_pos)

f.seek(-6, 1) # 相对于当前文件指针位置, 偏移-6个字节(负数为向前偏移)
print("读到的一个字节是: ", f.read(1)) # 读一个字节, 结果是 “a”

f.seek(-5, 2) # 相对于文件末尾位置, 偏移-5个字节(负数为向前偏移)
print("读到的一个字节是: ", f.read(1)) # 读一个字节, 结果是 “4”

length = f.seek(0, 2) # 将文件指针设置到文件末尾, 该函数返回值是文件指针绝对偏移量(即是文件长度)


print("文件长度是: %d" % length)

猜你喜欢

转载自blog.csdn.net/weixin_42225318/article/details/80613853
今日推荐