为什么这个变量组合输出带有 2 个反斜杠的答案?

CJ派纳

我正在尝试编写一个类似于登录计算机的程序,这样您就可以创建一个“帐户”,并且计算机将记住您的密码以备后用。(所以你不能只使用一个简单的变量)

因此,该程序通过要求您选择创建帐户或登录来工作。(如果用户选择创建帐户,我已准备好一些代码,但我将在稍后添加部分签名完成。)我选择存储用户名和密码的方式是使用文本文档。用户名将是文本文档的名称(例如 D:\username.txt),密码将是文本文档中所写的内容。

import os
import sys
import fileinput


def signin():
    username = input("Username:\n>>")
    UsernameandPasswordfile = "D:\%s.txt" % username
    password = "Password:\n>>"
    print(UsernameandPasswordfile)
    file = open(UsernameandPasswordfile, "r+")
    for line in fileinput.input(UsernameandPasswordfile):
        if password in line:
            print("signed in!")
        else:
            print("error")

question = input("sign in or create new account?\n>>")
if question == "sign in":
    signin()

这是错误消息:

FileNotFoundError: [Errno 2] No such file or directory: 'D:\\document.txt'

我有一个名为“文档”的测试文档。所以,如果我使用“document”作为我的用户名运行我的程序,它应该找到该文件。但事实并非如此,因为它不断向文件位置添加一个额外的反斜杠,这当然会使位置错误。我可以改变什么来解决这个问题?

赛丽思

检查评论后,您的问题是您要求检查 D:\ 中的文件是否存在,但您是在桌面上创建该文件。那是两个不同的地方。

桌面不位于像D:\这样的硬盘驱动器的根目录桌面通常位于D:\Users\CJPeine\Desktop 之类的位置(取决于您的用户),因此您需要先找到桌面所在的位置。

找到 .txt 位置(文件的公知路径的更简单方法是右键单击文件并选择属性选项。在那里找到路径或位置信息。

然后你只需要更改下一行即可准确找到文件。

UsernameandPasswordfile = "D:\Users\CJPeine\Desktop\%s.txt" % username

关于反斜杠:
但是,这会产生问题。一些像\n\t(除其他外)字符会产生特殊的行为,这就是我们需要逃避它们的原因。例如\n添加一个新行,所以如果你写:

"this is a te\nst"

结果是:

this is a t
est

所以为了解决这个问题,我们通过添加一个双反斜杠而不是一个来转义这些字符。添加这几乎意味着“不要试图为我的反斜杠找到特殊行为”。最后的工作代码是。

UsernameandPasswordfile = "D:\\Users\\CJPeine\\Desktop\\%s.txt" % username

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么 Url 将反斜杠解码为 2 个反斜杠

来自分类Dev

星号,反斜杠,冒号和(* \:2)中的两个是什么意思?

来自分类Dev

为什么在PHP中3个反斜杠等于4个反斜杠?

来自分类Dev

Sass变量插值,输出中带有反斜杠

来自分类Dev

为什么这个Haskell程序反斜杠?

来自分类Dev

使用 SED 在 2 个反斜杠之间查找单词

来自分类Dev

为什么在Python路径中需要4个反斜杠?

来自分类Dev

Symfony2 Serialze实体从输出中转义反斜杠

来自分类Dev

为什么这个答案中有一个 en?

来自分类Dev

在R中使用反斜杠转义一个反斜杠会在字符串中产生2个反斜杠,而不是1

来自分类Dev

Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

来自分类Dev

Mac-Excel条件格式,带有8个变量,任意2个组合变量给出2个结果

来自分类Dev

如何在两个变量之间连接反斜杠?

来自分类Dev

我的桌子上有一个随机的反斜杠

来自分类Dev

我的桌子上有一个随机的反斜杠

来自分类Dev

Bash,从 2 个模式之间的文件输出,但带有变量和星号

来自分类Dev

为什么在这个 apt install 命令上有反斜杠 `\` 换行符?

来自分类Dev

为什么带有2Gb内存的现代图形带有VGA输出?

来自分类Dev

正则表达式将2个反斜杠替换为3

来自分类Dev

MP4Box的“ -tmp”参数需要2个反斜杠

来自分类Dev

为什么`echo -e“ \\\ SOME_TEXT”`只显示一个反斜杠?

来自分类Dev

为什么我在 python 字符串中得到一个反斜杠

来自分类Dev

为什么此宏接受带有1个参数的模板而拒绝带有2个参数的模板?

来自分类Dev

为什么在这个While循环示例中答案变量是?

来自分类Dev

为什么这个C程序错误地输出2的幂?

来自分类Dev

为什么这个Ruby线程代码输出2?

来自分类Dev

为什么带有 2 个参数的 map.get 是可能的?

来自分类Dev

为什么分配给这个零的变量的值是2

来自分类Dev

为什么需要在此人类中添加2个私有变量?

Related 相关文章

  1. 1

    为什么 Url 将反斜杠解码为 2 个反斜杠

  2. 2

    星号,反斜杠,冒号和(* \:2)中的两个是什么意思?

  3. 3

    为什么在PHP中3个反斜杠等于4个反斜杠?

  4. 4

    Sass变量插值,输出中带有反斜杠

  5. 5

    为什么这个Haskell程序反斜杠?

  6. 6

    使用 SED 在 2 个反斜杠之间查找单词

  7. 7

    为什么在Python路径中需要4个反斜杠?

  8. 8

    Symfony2 Serialze实体从输出中转义反斜杠

  9. 9

    为什么这个答案中有一个 en?

  10. 10

    在R中使用反斜杠转义一个反斜杠会在字符串中产生2个反斜杠,而不是1

  11. 11

    Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

  12. 12

    Mac-Excel条件格式,带有8个变量,任意2个组合变量给出2个结果

  13. 13

    如何在两个变量之间连接反斜杠?

  14. 14

    我的桌子上有一个随机的反斜杠

  15. 15

    我的桌子上有一个随机的反斜杠

  16. 16

    Bash,从 2 个模式之间的文件输出,但带有变量和星号

  17. 17

    为什么在这个 apt install 命令上有反斜杠 `\` 换行符?

  18. 18

    为什么带有2Gb内存的现代图形带有VGA输出?

  19. 19

    正则表达式将2个反斜杠替换为3

  20. 20

    MP4Box的“ -tmp”参数需要2个反斜杠

  21. 21

    为什么`echo -e“ \\\ SOME_TEXT”`只显示一个反斜杠?

  22. 22

    为什么我在 python 字符串中得到一个反斜杠

  23. 23

    为什么此宏接受带有1个参数的模板而拒绝带有2个参数的模板?

  24. 24

    为什么在这个While循环示例中答案变量是?

  25. 25

    为什么这个C程序错误地输出2的幂?

  26. 26

    为什么这个Ruby线程代码输出2?

  27. 27

    为什么带有 2 个参数的 map.get 是可能的?

  28. 28

    为什么分配给这个零的变量的值是2

  29. 29

    为什么需要在此人类中添加2个私有变量?

热门标签

归档