前言:
最近用python写了个爬取笔趣阁小说的小程序,预计功能包含有:
- 搜索小说并反馈到用户交互面板上
- 自定义输出文件路径
- 使用多进程让小说下载更快
- 为小说下载添加可视化进度条,更直观方便的查看下载进度
然后就单独写了个自定义输出文件路径的py程序,方便以后巩固
自定义文件路径和文件名
# 保存一段字符,用户自定义输出路径,输出文件的文件名是个变量 def Fifed_File(): name = input('输入文件名:') file = input('输入自定义路径:') file = file + f'\{name}.txt' # 自定义文件名 file = open(f'{file}', mode='a', encoding='utf-8') # 输出文件路径是用户之前输入的文件路径 print(file) with file as f: f.write(str(file))
在第一个的基础上增加了判断文件路径,将用户输入的路径写入到“output.dll”文件中,然后下一次运行程序就会判断该文件路径下是否有这个文件,如果有就跳过并且将输出的文件路径显示出来,让用户知道输出的路径是什么,没有的话就需要用户输入文件路径。记于2022年4月20日0:28,预计下次更新小功能:于用户交互,让用户选择是否修改文件路径
# 扩展衍生上一个代码,将用户写的输出路径保存到本地,下次打开软件时直接判断本地有没有该文件,该文件内有没有内容,如果有内容,是正确的输出路径,那么就不用让用户在输入文件的输出路径 def Fifed_File_Pro(): import os global files, file, name output = '.\output.dll' if_output = os.path.exists(output) # 使用os文件互交方法判断 if if_output == True: # 如果output这个目录下有这个文件,那么将读取文件内容 with open(output, mode='r', encoding='utf-8') as f: files = f.read() print(f'文件输出路径为: {files}') else: # 如果output这个目录下没有这个文件,那么将创建这个文件,让用户输入输出路径目录 file = input('输入自定义路径:') files = file + '\\' # 用户输入的路径 with open(output, mode='w', encoding='utf-8') as f: f.write(files) file = files + f's.txt' # 用户输入的路径+文件名
在上一个代码的基础上修改,用户输入了输出路径以后通过于命令窗口交互修改输出路径,记于2022年4月20日16:51
还可以扩展延申,使用os.rmdir或者os.remove删除文件,不过需要注意os.rmdir和os.remove的使用格式,虽然两个的本质都是删除文件,但是还是有点区别的
- 删除文件夹用os.rmdir(文件夹路径)
- 删除文件夹不能用 os.remove(文件夹路径),否则会报错:[WinError 5] 拒绝访问。: ‘文件夹路径’
- 删除的文件夹必须为空,否则报错:[WinError 145] 目录不是空的。: ‘文件夹路径’
def Fifed_File_Exchange(): import os global files, file, name output = '.\output.dll' if_output = os.path.exists(output) # 使用os文件互交方法判断 print('*'*20,'选择','*'*20) print('1:修改路径') select_input=int(input('输入想要执行的操作:')) if select_input == 1:#1是修改文件路径,修改文件路径之前先判断操作路径下有没有output这个文件,如果有则可以修改,没有则返回不能修改 if if_output == True: # 判断文件路径下有没有该文件,有则可以修改文件 file = input('请输入想要修改的文件输出路径:') files = file + '\\' # 用户输入的路径 with open(output, mode='w', encoding='utf-8') as f: f.write(files) else: print('没有输入过文件输出路径,请输入!') if if_output == True: # 如果output这个目录下有这个文件,那么将读取文件内容 with open(output, mode='r', encoding='utf-8') as f: files = f.read() print(f'文件输出路径为: {files}') else: # 如果output这个目录下没有这个文件,那么将创建这个文件,让用户输入输出路径目录 file = input('请输入自定义路径:') files = file + '\\' # 用户输入的路径 with open(output, mode='w', encoding='utf-8') as f: f.write(files) file = files + f's.txt' # 用户输入的路径+文件名
- THE END -
最后修改:2022年4月20日