昨天我开始学习python,我更习惯使用文件进行输入和输出。所以,我编写了以下代码并从原子文本编辑器中运行它。但是我收到了以下错误:
[Errno 2]没有这样的文件或目录:' input.txt' **。
import sys
def init():
orig_stdin = sys.stdin
orig_stdout = sys.stdout
fin = file('input.txt', 'r')
fout = file('output.txt', 'w')
sys.stdin = fin
sys.stdout = fout
return
init()
x = raw_input()
print(x)
要检查问题是否只是python,我编写了以下C ++代码。但我再次没有输出(这次没有错误信息)。
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
const int N = 1000005;
int x;
void init(){
scanf("%d",&x);
printf("%d\n",x);
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
init();
return 0;
}
这两个代码在崇高文本编辑器上运行良好。
问题已解决。我有点傻。问题在于工作目录。
答案 0 :(得分:2)
每当您在尝试打开确定存在的文件时看到错误:[Errno 2] No such file or directory: 'input.txt'
,您应首先怀疑当前工作目录存在问题。
这可以通过以下方式轻松测试:
import os
print (os.getcwd())
代码在一个编辑器中工作的事实不影响它是否可以在另一个编辑器中工作,除非为每个编辑器正确设置了cwd。对于Atom,更改当前工作目录的一种方法是atom.project.setPath(...)
,但其他路径可用here