gpt4 book ai didi

javascript - 尝试打开文本文件时,Python 脚本抛出非常奇怪的错误

转载 作者:行者123 更新时间:2023-12-03 02:18:22 37 4
gpt4 key购买 nike

首先,我在网络技术方面完全是个初学者,所以这可能是一个相对简单的解决问题。我正在尝试从与 XMLHTTPRequest 交互的 python 脚本打开一个文本文件,但收到以下错误:

Traceback (most recent call last):
File "/home/ryan/VirtualDesktop/ComputerScience/4410_web_Technologies/projects/p3stuff/cgi-bin/p3.py", line 20, in <module>
msgs = open("msgs.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'msgs.txt'

这是Python代码:

#!/usr/bin/python3

import sys, cgi
import cgitb

cgitb.enable()
sys.stderr = sys.stdout

print("Access-Control-Allow-Origin: *")
print("Content-type: text/html\n\n")

msgs = open("msgs.txt")
print(msgs.read())

“msgs.txt”文件肯定位于正确的目录中,并且如果我在终端中运行 python 脚本(不与 javascript 交互),它运行正常:

ryan@ryan-XPS-15-9560:~/VirtualDesktop/ComputerScience/4410_web_Technologies/projects/p3stuff/cgi-bin$ ls
msgs.txt p3.py*
ryan@ryan-XPS-15-9560:~/VirtualDesktop/ComputerScience/4410_web_Technologies/projects/p3stuff/cgi-bin$ ./p3.py
Access-Control-Allow-Origin: *
Content-type: text/html

alice: hello
bob: whatever

ryan@ryan-XPS-15-9560:~/VirtualDesktop/ComputerScience/4410_web_Technologies/projects/p3stuff/cgi-bin$

在我看来,我用来与 python 脚本交互的 javascript 代码工作正常,因为如果我直接从 python 文件打印 msgs.txt 的内容,它就会顺利进行(即删除 python 代码的最后两行并将其替换为 print("alice: hello\nbob:whatever")。只是尝试访问该文件似乎是我的主要问题。就像当我尝试从网页打开它时,Python 脚本甚至看不到它。

如有任何建议,我们将不胜感激。预先感谢您!

编辑:不允许在 open 调用中使用完整文件路径(这是作业的一部分)。

最佳答案

如果您知道msgs.txt将与p3.py位于同一目录中,则可以查询__file__的目录部分.

试试这个:

import os

def filename(x):
return os.path.join(os.path.dirname(os.path.realpath(__file__)), x)

with open(filename('msgs.txt')) as msgs:
print(msgs.read())

关于javascript - 尝试打开文本文件时,Python 脚本抛出非常奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49268188/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com