python文件及os,相对路径与绝对路径

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#文件操作
# stream=open('E:\\Pycharm\\123.txt')
#
#
# container=stream.read()
# print(container)
#
#
# while 1:
#     result = stream.readline()
#     if result:
#         print(result)
#     else:
#         break
#
# result=stream.readlines()
# print(result)
# for i in result:
#     print(i)
#'w'操作会清空原内容,'a'不会清空,append
# stream=open('E:\\Pycharm\\123.txt','w')
# s='''  #三个引号,表示字符串原格式
#     您好,欢迎来到澳门博彩,性感荷官,在线发牌!
#                                         赌神:发哥
# '''
# result=stream.write(s)
#
# stream.close()



# #文件的复制
# with open(r'E:\安大的四年\图片\1.png','rb') as stream:   #结合open使用,自动释放资源
#     container=stream.read()
# with open(r'E:\\Pycharm\\1.png','wb')as wstream:
#     wstream.write(container)



import os
# # print(os.path)
# path=os.path.dirname(__file__)  #是当前文件夹所在目录
# # print(path)
# # print(type(path))          #是字符串str类型
# result=os.path.join(path,'1.png')   #拼接文件名,因为open只能打开文件
# print(result)
# with open(r'E:\安大的四年\图片\1.png','rb') as stream:   #结合open使用,自动释放资源
#
#     print(stream.name)
#     file=stream.name
#     filename=file[file.rfind('\\')+1:]   #截取文件名
#     print(filename)
#     container=stream.read()
# with open(result,'wb')as wstream:
#     wstream.write(container)



result=os.path.split(__file__)
print(result)
print(result[1])
result1=os.path.splitext(__file__)  #获取文件类型
print(result1) 
#绝对路径:absolute
import os
s=os.path.isabs('E:\安大的四年\图片\1.png')    #判断是否为绝对路径
print(s)
#相对路径
r=os.path.isabs(r'venv\001.py')
print(r)     #输出False


t=os.path.isabs(r'..\001.py')    #找跟005.py同级的文件
print(t)

#获取当前文件的路径 directory=目录

# path=os.path.dirname(__file__)   #E:\Pycharm\python100题\代码
# print(path)

# path=os.path.abspath(__file__)   #E:\Pycharm\python100题\代码\005.py
# print(path)
#
#
# path=os.getcwd(__file__)  #等于dirname()
path=r'E:\Pycharm\python100题\代码\005.py'
# result=os.path.split(path)
# print(result)   #('E:\\Pycharm\\python100题\\代码', '005.py')元组 ,等价result=path[path.rfind(\\'+1:]

#
# result=os.path.splitext(path)  #('E:\\Pycharm\\python100题\\代码\\005', '.py')  获得后缀名
# print(result)
#
#
# size=os.path.getsize(path)    #获得文件的大小,单位为字节
# print(size)


#os的函数
#os.listdir()
name=os.listdir(r'E:\Pycharm\python100题\代码')    #返回指定文件夹下的所有文件到列表里
print(name)

#创建文件夹
os.mkdir(r'E:\Pycharm\python100题\代码\新建文件夹')

#删除文件夹
os.rmdir(r'E:\Pycharm\python100题\代码\新建文件夹')   #只能删除空文件夹

os.remove(r'E:\Pycharm\python100题\代码\1.png')  #删除文件夹目录下的文件

#切换目录
os.chdir(path)#changedirectory    类似于cmd下的cd


#持久化保存

#用户注册:
def register():
    username=input('请输入用户名:')
    password=input('请输入密码:')
    repassword=input('请输入确认密码:')

    if password==repassword:
        with open(r'E:\Pycharm\python100题\代码\book\users.txt','a') as astream:       #使用a不会覆盖之前的内容
            astream.write('{} {}\n'.format(username,password))
        print('用户注册成功')
    else:
        print('密码不一致!')



def login():
    username=input('请输入用户名:')
    password=input('请输入密码:')
    if username and password:
        with open(r'E:\Pycharm\python100题\代码\book\users.txt', 'r') as rstream:

            while 1:
                user=rstream.readline() #admin 123456\n
                if not user:
                    print('密码输入有误')
                    break
                input_user='{} {}\n'.format(username,password)
                if user==input_user:
                    print('用户登陆成功')
                    break
#login()



def show_books():
    print('图书馆里面的图书有:')
    with open(r'E:\Pycharm\python100题\代码\book\books.txt', 'r',encoding='UTF-8') as rstream:
        # UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 50: illegal multibyte sequence
        # 报错,在后面加一个encoding='UTF-8',或者把改成rb

        books=rstream.readlines()
        for book in books:
            print(book,end='')  #end=''表示不需要再换行,因为readlines是一个列表,列表每一个元素后都有一个\n

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值