파일 경로가 존재하는지 확인하세요. 존재하지 않으면 이 경로를 생성하세요.
#如果不存在路径,就创建一个这样的路径 if not os.path.exists(exp_path): os.mkdir(exp_path)
os.path.exists()
: 괄호 안의 파일이 존재하는지 확인합니다. 파일 경로가 있으면 True를 반환합니다. 존재하지 않으면 Falseos.path.exists()
:判断括号里的文件是否存在的意思,括号内的可以是文件路径.如果存在就返回True,不存在返回False
os.mkdir()
:创建路径
file_list = os.listdir(dir_path)
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
filter(function, iterable)
function
-- 判断函数。
iterable
-- 可迭代对象
def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist)
[1, 3, 5, 7, 9]
list()
os.mkdir()
: 경로를 만듭니다2. 폴더 아래에 파일 이름을 나열합니다. 3. 존재하지 않는 파일을 필터링합니다. 요구 사항 충족filter() 함수 시퀀스를 필터링하고, 조건을 충족하지 않는 요소를 필터링하고, 조건을 충족하는 요소로 구성된 새 목록을 반환하는 데 사용됩니다
with open("11.txt", 'r') as file: for l in file: idnos.append(l.replace('\n','')) f.close() # 关闭文件,这个可以是个好习惯哦
함수
-- 판단 기능. iterable
-- 반복 가능한 객체 with open("d.txt", 'a',encoding='utf-8') as file: file.write('\n' + '摘要:' + gaiyao) file.write('\n') file.close()
#coding=utf-8 f = open('11.txt', 'r') content = f.readlines() print(type(content)) i=1 for temp in content: print("%d:%s" % (i, temp)) i += 1 f.close()
list()
^(*  ̄(oo) ̄)^튜플은 리스트와 매우 유사합니다. 차이점은 튜플의 요소 값을 수정할 수 없다는 것입니다. 튜플은 대괄호 안에, 리스트는 대괄호 안에 넣습니다
정보를 검토하고 실험해 본 결과, 함수는 open()과 비슷하지만 크롤링이나 다른 방법으로 데이터를 얻어 파일에 쓸 때 인코딩이 일치하지 않는 문제가 있기 때문에 일반적으로 유니코드 인코딩으로 변환됩니다. | 간단히 말하면 코덱과 open()을 사용하는 것이 더 편리합니다. |
---|---|
7.strip() | 전체 파일 내용을 한 줄씩 읽습니다. 매번 파일 내용, 읽은 내용을 목록에 넣고 목록 유형을 반환합니다. |
1, txt 파일 | 1.1 txt 파일 읽기 |
1.3 각 파일 라벨의 의미 | |
설명 | |
r | 파일을 읽기 전용 모드로 엽니다. 파일 포인터는 파일의 시작 부분에 배치됩니다. 이것이 기본 모드입니다. |
w | 쓰기 전용 파일을 엽니다. 파일이 이미 있으면 덮어씁니다. 파일이 없으면 새 파일을 만듭니다. |
a | 추가할 파일을 엽니다. 파일이 이미 존재하는 경우 파일 포인터는 파일 끝에 배치됩니다. 즉, 기존 콘텐츠 다음에 새로운 콘텐츠가 작성됩니다. 파일이 없으면 쓰기용 새 파일을 만듭니다. |
rb | 읽기 전용으로 바이너리 형식의 파일을 엽니다. 파일 포인터는 파일의 시작 부분에 배치됩니다. 이것이 기본 모드입니다. |
wb | 쓰기 전용으로 바이너리 형식의 파일을 엽니다. 파일이 이미 있으면 덮어씁니다. 파일이 없으면 새 파일을 만듭니다. |
ab | 추가를 위해 바이너리 형식의 파일을 엽니다. 파일이 이미 존재하는 경우 파일 포인터는 파일 끝에 배치됩니다. 즉, 기존 콘텐츠 다음에 새로운 콘텐츠가 작성됩니다. 파일이 없으면 쓰기용 새 파일을 만듭니다. |
r+ | 읽고 쓰기 위한 파일을 엽니다. 파일 포인터는 파일의 시작 부분에 배치됩니다. |
w+ | 읽고 쓰기 위한 파일을 엽니다. 파일이 이미 있으면 덮어씁니다. 파일이 없으면 새 파일을 만듭니다. |
a+
읽고 쓰기 위한 파일을 엽니다. 파일이 이미 존재하는 경우 파일 포인터는 파일 끝에 배치됩니다. 파일은 추가 모드로 열립니다. 파일이 존재하지 않으면 읽기 및 쓰기를 위해 새 파일이 생성됩니다.
rb+
읽고 쓰기 위해 바이너리 형식의 파일을 엽니다. 파일 포인터는 파일의 시작 부분에 배치됩니다.
wb+
읽고 쓰기 위해 바이너리 형식의 파일을 엽니다. 파일이 이미 있으면 덮어씁니다. 파일이 없으면 새 파일을 만듭니다.
ab+
추가를 위해 바이너리 형식의 파일을 엽니다. 파일이 이미 존재하는 경우 파일 포인터는 파일 끝에 배치됩니다. 파일이 존재하지 않으면 읽기 및 쓰기를 위해 새 파일이 생성됩니다.
1.4 txt의 모든 내용을 한 줄씩 읽기import os os.rename("毕业论文.txt", "毕业论文-最终版.txt")
import os os.remove("毕业论文.txt")
import os os.mkdir("张三")
import os os.getcwd()
import os os.chdir("../")
import os os.listdir("./")
import os os.rmdir("张三")
import time import os # 定一个列表,用来存储所有的学生信息(每个学生是一个字典) info_list = [] def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学生") print(" 3:修改学生") print(" 4:查询学生") print(" 5:显示所有学生") print(" 6:保存数据") print(" 7:退出系统") print("---------------------------") def add_new_info(): """添加学生信息""" global info_list new_name = input("请输入姓名:") new_tel = input("请输入手机号:") new_qq = input("请输入QQ:") for temp_info in info_list: if temp_info['name'] == new_name: print("此用户名已经被占用,请重新输入") return # 如果一个函数只有return就相当于让函数结束,没有返回值 # 定义一个字典,用来存储用户的学生信息(这是一个字典) info = {} # 向字典中添加数据 info["name"] = new_name info["tel"] = new_tel info["qq"] = new_qq # 向列表中添加这个字典 info_list.append(info) def del_info(): """删除学生信息""" global info_list del_num = int(input("请输入要删除的序号:")) if 0 <= del_num < len(info_list): del_flag = input("你确定要删除么?yes or no") if del_flag == "yes": del info_list[del_num] else: print("输入序号有误,请重新输入") def modify_info(): """修改学生信息""" global info_list modify_num = int(input("请输入要修改的序号:")) if 0 <= modify_num < len(info_list): print("你要修改的信息是:") print("name:%s, tel:%s, QQ:%s" % (info_list[modify_num]['name'], info_list[modify_num]['tel'],info_list[modify_num]['qq'])) info_list[modify_num]['name'] = input("请输入新的姓名:") info_list[modify_num]['tel'] = input("请输入新的手机号:") info_list[modify_num]['qq'] = input("请输入新QQ:") else: print("输入序号有误,请重新输入") def search_info(): """查询学生信息""" search_name = input("请输入要查询的学生姓名:") for temp_info in info_list: if temp_info['name'] == search_name: print("查询到的信息如下:") print("name:%s, tel:%s, QQ:%s" % (temp_info['name'], temp_info['tel'], temp_info['qq'])) break else: print("没有您要找的信息....") def print_all_info(): """遍历学生信息""" print("序号\t姓名\t\t手机号\t\tQQ") i = 0 for temp in info_list: # temp是一个字典 print("%d\t%s\t\t%s\t\t%s" % (i, temp['name'], temp['tel'], temp['qq'])) i += 1 def save_data(): """加载之前存储的数据""" f = open("info_data.data", "w") f.write(str(info_list)) f.close() def load_data(): """加载之前存储的数据""" global info_list f = open("info_data.data") content = f.read() info_list = eval(content) f.close() def main(): """用来控制整个流程""" # 加载数据(1次即可) load_data() while True: # 1. 打印功能 print_menu() # 2. 获取用户的选择 num = input("请输入要进行的操作(数字):") # 3. 根据用户选择,做相应的事情 if num == "1": # 添加学生 add_new_info() elif num == "2": # 删除学生 del_info() elif num == "3": # 修改学生 modify_info() elif num == "4": # 查询学生 search_info() elif num == "5": # 遍历所有的信息 print_all_info() elif num == "6": # 保存数据到文件中 save_data() elif num == "7": # 退出系统 exit_flag = input("亲,你确定要退出么?~~~~(>_<)~~~~(yes or no) ") if exit_flag == "yes": break else: print("输入有误,请重新输入......") input("\n\n\n按回车键继续....") os.system("clear") # 调用Linux命令clear完成清屏 # 程序的开始 main()
with open('新1.csv', 'a', encoding='utf-8-sig', newline='') as f: csv_writer = csv.writer(f, delimiter=',') csv_writer.writerow( [str(name), str(zijin), str(guimo), str(jingli), str(phone1), str(phone2),str(chanpin)])
위 내용은 Python 파일을 로드하고 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!