Python基础学习——读取文件,相对路径和绝对路径

读取文件,相对路径和绝对路径

window上文件路径的分隔符是(C:\Users\Administrator\PycharmProjects\JK\testcase)

import os

创建文件名称的字符串

myFiles=[‘accouts.txt’,‘details.csv’,‘invite.docx’]
for filename in myFiles:
print(os.path.join(‘C:\Users\Exercise\openWriteFiles’,filename))
#获取当前路径
print(os.getcwd())
#改变当前路径
os.chdir(‘C:\Users\Exercise\openWriteFiles’)
print(os.getcwd())
os.chdir(‘C:\Users\Administrator\PycharmProjects\JK\testcase’)
print(os.getcwd())

创建新的文件夹

os.rmdir(‘C:\Users\Exercise\openWriteFiles\newFolder’)

移除一个文件夹

os.makedirs(‘C:\Users\Exercise\openWriteFiles\newFolder’)

处理相对路径和绝对路径

1.os.path.isabs()判断是否是绝对路径,如果是,返回True

print(os.path.isabs(‘C:\Users\Exercise\openWriteFiles\invite.docx’))
print(os.path.isabs(’.\FileTester.txt’))

2.os.path.abspath()相对路径转化为绝对路径

print(os.path.abspath(’.\FileTester.txt’))

3.os.path.relpath(path,start)将返回从start路径到path的相对路径的字符串,如果没有提供start,默认为当前工作目录

print(os.path.relpath(‘C:\Users\Administrator\PycharmProjects\JK\data’))

4.读取具体文件的路径:目录名称

url=‘C:\Users\Administrator\PycharmProjects\JK\data\data.xlsx’
print(os.path.dirname(url))

5.读取具体文件的基本名称

print(os.path.basename(‘C:\Users\Administrator\PycharmProjects\JK\data\data.xlsx’))

6. 获取关于路径目录名称和文件名称的元祖

print(os.path.split(url))

7. 对文件内容进行分割,但在linux和mac系统上,返回的列表头上有一个空字符串

print(url.split(os.path.sep))

扫描二维码关注公众号,回复: 4189181 查看本文章

8. 查看文件大小和文件夹内容

print(os.path.getsize(url)) # 返回单位:9979字节
print(os.listdir(‘C:\Users\Administrator\PycharmProjects\JK\data’))
filepath=os.listdir(’…\data’)
totalSize=0
for filename in filepath:
totalSize=totalSize+os.path.getsize(os.path.join(’…\data’,filename))
print(totalSize)

9.检查路径的有效性

检查文件和文件夹的有效性

print(os.path.exists(‘C:\Users\Administrator\PycharmProjects\JK\data’))
print(os.path.exists(‘C:\Users\Administrator\PycharmProjects\JK\testcase\FileTester.txt’))

检查文件的有效性

print(os.path.isfile(‘C:\Users\Administrator\PycharmProjects\JK\data’))
print(os.path.isfile(‘C:\Users\Administrator\PycharmProjects\JK\testcase\FileTester.txt’))

检查文件夹的有效性

print(os.path.isdir(‘C:\Users\Administrator\PycharmProjects\JK\data’))
print(os.path.isdir(‘C:\Users\Administrator\PycharmProjects\JK\testcase\FileTester.txt’))

10. 文件读写过程

1.调用open()函数,返回一个file对象

2.调用file对象的read()或write()方法

3. 调用file对象的close()方法,关闭该文件

readTxtFile=open(’…\data\data.txt’)
txtFileContent=readTxtFile.read()
print(txtFileContent)
readTxtFile.close()

—read()返回保存在文件中的字符串

—readlines()返回保存在文件中的字符串的列表,每个字符串是一行

readTxtFile=open(’…\data\data.txt’)
txtFileLineContent=readTxtFile.readlines()
print(txtFileLineContent)
readTxtFile.close()

—write写文件有两种模式

一是写模式,‘w’,覆盖掉原文件

二是添加模式,‘a’,在文件的末尾添加文本

newTxtFile=open(‘newTxt.txt’,‘w’)
newTxtFile.write(‘Hello World!\n’)
newTxtFile.close()

newTxtFile=open(‘newTxt.txt’,‘a’)
newTxtFile.write(‘Hello World!\n’)
newTxtFile.close()

newTxtFile=open(‘newTxt.txt’)
txtNewFileContent=newTxtFile.read()
newTxtFile.close()
print(txtNewFileContent)

11、windows系统中shelve模块保存变量,生成三个文件,不清楚具体逻辑

import shelve
shelfFile=shelve.open(‘mydata’)
animals=[‘cat’,‘dog’,‘panda’]
shelfFile[‘animals’]=animals
shelfFile.close()
shelfFile=shelve.open(‘mydata’)
print(type(shelfFile)) # <class ‘shelve.DbfilenameShelf’>
print(shelfFile[‘animals’]) #[‘cat’, ‘dog’, ‘panda’]
shelfFile.close()
shelfFile=shelve.open(‘mydata’)
print(list(shelfFile.values()))
print(list(shelfFile.keys()))
shelfFile.close()

12、pprint.pformat()函数将文件内容写入.py文件

import pprint
vegetables=[{‘name’:‘tomatoes’,‘desc’:‘salty’},{‘name’:‘potato’,‘desc’:‘delicious’}]
print(pprint.pformat(vegetables))
fileobj=open(‘myvegetables.py’,‘w’)
fileobj.write(‘vegetables=’+pprint.pformat(vegetables)+’\n’)
fileobj.close()

记日志的四种级别:
import logging
logging.basicConfig(filename=‘mylog.txt’,level=logging.DEBUG,format=’ %(asctime)s - %(levelname)s - %(message)s’)
logging.debug(‘some debugging details.’)
logging.warning(‘the logging module is still working.’)
logging.error(‘an error has occurred.’)
logging.critical(‘the progress is unable to recover.’)

调试程序的五种过程:
1、go
2、step
3、over
4、out
5、quit

猜你喜欢

转载自blog.csdn.net/baidu_37837739/article/details/84189431