繁体   English   中英

将 a.txt 文件保存在特定路径中

[英]Save a .txt file in specific path

我正在训练 Python,我创建了一个脚本,可以将一些数据保存在 .txt 文件中。 我按照视频中的说明进行操作,“老师”使用了 PyCharm,我在 Visual Studio 上。

因此脚本检查文件是否存在,如果不存在,则创建一个具有确切名称的文件。 我的脚本代码:

filename = 'desafio115.txt'
if not fileExist(filename):
    createFile(filename)

while True:
    menu.ui_menu()
    opt = int(input('Select Option: '))
    if opt == 1:
        readFile(filename)
    elif opt == 2:
        name = str(input('Name: '))
        age = leiaInt('Age: ')
        cadastrar(filename, name, age)

以及功能代码:

def fileExist(file):
    try:
        a = open(file, 'rt', encoding='UTF-8')
        a.close()
    except FileNotFoundError:
        return False
    else:
        return True


def createFile(file):
    try:
        a = open(file, 'wt+', encoding='UTF-8')
        a.close()
    except:
        print('Error!!!')
    else:
        print(f'Arquivo {file} criado com sucesso!')


def readFile(file):
    try:
        a = open(file, 'rt', encoding='UTF-8')
    except:
        print('Erro! Arquivo não pode ser lido')
    else:  
        print('Pessoas cadastradas:'.center(40))
        for linha in a:
            dado = linha.split(';')
            dado[1] = dado[1].replace('\n', '')
            print(f' {dado[0]:<30} {dado[1]:>3} anos')
    finally:
        a.close()

问题是:我在 Linux 上,Python 文件的路径是:'Documents>Coding>Python Course>Part 3',但是,.txt 是在“Python Course”文件夹中创建的,而不是在脚本已保存。 如何更改路径,以便我也可以在 Windows 中使用此脚本? 在我用作指导的视频中,老师没有这个问题,文件夹结构非常相似,但使用的是 MacOS 和 PyCharm。 (抱歉任何打字错误,英语不是我的主要语言)

路径分隔符


如何更改路径,以便我也可以在 Windows 中使用此脚本?

Linux 使用/进行路径分离,而 Windows 使用/\

对于跨平台和字符 escaping 的问题,只需使用/

路径设置

'文档>编码>Python 课程>第 3 部分'

你想在那里创建文件吗? 只需使用os.chdir更改目录

import os
os.chdir("C://Users/YOUR_USERNAME/Documents/Coding/Python Course/Part 3")

这会将工作目录更改为您想要的,只需将其放在程序的开头即可。

如果您不想使用此方法,如果您从终端手动启动它,只需从另一个目录运行解释器。


您永远不会给出要写入此文件的目录的路径,因此它只会将其写入您当前的工作目录(通常是 Python 解释器运行的位置

wkl对问题的解释非常详尽,我想将其包含在我的答案中。


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM