首页/Python自定义文件输出路径,并判断目录下是否有该文件

Python自定义文件输出路径,并判断目录下是否有该文件

Muzi 2022-4-20 170 4/20

前言:

最近用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 -

Muzi

4月20日16:58

最后修改:2022年4月20日
0